sidewalkcafe blog

日々是好日

スクリプトのおべんきょう

アクションスクリプトの勉強してます

これすごいねぇ〜
何かゲームつくれそう


ところでvarって何だっけw
変数定義してるんだけど、ムービークリップで定義した変数は_rootで使えない?
同じ変数でもシンボルごとの管理になるのかなぁ?
むむむ・・・


あとマウスとキーボードの両方で操作できるオブジェクトを考えてるんだけど
マウスが乗ったら違うフレームを表示するってのはMC内にボタンを内包して解決するんだけど
それをMCで制御することってできないのかな?
キーの押下を判断してボタンのグラフィックをoutからoverに変える
う〜ん、できそうな気がするんだけど・・・
やっぱMCしか制御できないのかしら?

Java Scriptの勉強

最近書いたコード(仕事用)

//on clickで呼び出し
function click()
{
	//ボタンの数を確認
	r = document.formname.buttanname.length;

	//ボタンがあればチェックの確認へ
	if (r>1) check() ;
	else bill() ;
}

function check()
{
	//チェックの確認
	c = 0;
	for (i=0;i < r ;i++)
	{
	if (document.formname.buttanname[i].checked)
		{
		//チェックされていればcに1を代入し処理を終了
		c=1;
		break;
		}
	}
	
	//チェックされていなければ警告を出す
	if (c) bill() ;
	else alert("ボタンを選択して下さい");
	
}

いや、結構苦労した・・・(初心者だからw)
ラジオボタンを押していなければ計算(bill命令)できないようにしたかったんだけど
直前の選択内容によってボタンの数が決まってないので(無いばあいもある)
document.formname.buttanname.lengthで数を確認して(formname、buttannameはターゲットとなるフォーム名、ボタン名)
if文のcheckedで確認しようと思ったんだけど
if〜else〜if〜else〜ifって書いた数だけしか確認できないし
数が決まってないから足りない部分は確認できない(それに面倒だし美しくないw)
そこでfor文を使ってボタンの数だけ繰り返しbuttannameの確認にiを使えばいけるんじゃないかってひらめいたんだけど
警告を出す処理まで内包しちゃうとややこしいからチェック用の変数(c)を用いて
c=1なら計算へ、c=0のままなら警告を出すという風にした
んで、もし最初のボタンがチェックされていれば以降のfor文は無駄なのでbreakをつけたら
1個目のボタンしか確認できなくなったw
if文の後に{ }を入れて内包しなきゃならなんだんやねぇ・・・
やっと完成!と思ってたら
ボタンの数が0個だった場合、プログラムが正常に動かないんだよねぇ^^;
んで、ボタン0個の場合の変数「r」の値を調べたら1が返ってきたので
r>1でチェックするかどうか判定して、ボタンがなければそのまま計算に行くようにした
このif文で後のチェック内容をぜんぶ内包する事も考えたんだけど
階層が多くなりすぎると確認もめんどうなので命令文を分けたのさ


しかし、高校の頃やった授業が役立ってるなぁ・・・(if文やfor文はだいたいのプログラムで使える)
まぁBASICはif〜elseじゃなくてif〜thenだったけど