トップページ > ゲ製作技術 > 2011年04月13日 > xweTT8AM

書き込み順位&時間帯一覧

10 位/106 ID中時間01234567891011121314151617181920212223Total
書き込み数1100000000100000000000003



使用した名前一覧書き込んだスレッド一覧
名前は開発中のものです。
■吉里吉里/KAG/TJS雑談質問スレ■その23

書き込みレス一覧

■吉里吉里/KAG/TJS雑談質問スレ■その23
627 :名前は開発中のものです。[sage]:2011/04/13(水) 00:53:34.63 ID:xweTT8AM
ちょっと質問
おまけモードを作ろうと配列で座標とか管理してたんだけど、そこに式中関数組み込みしようとしたら、
良く考えたら式中関数は呼ばれた時に

for(var i=0;i<10;i++)
{
button_[i] = new SystemButtonLayer(kag, pop_layer_tp_fore, function()
{
kag.se[1].play(%[storage : 'se_ok.wav']);
button_select = i;
}incontextof this);
with(button_[i]){
.fillRect(0, 0,kag.scWidth,kag.scHeight, 0x00000000);
.opacity=255;
.visible=true;
}
}

with(button_[0])
{
画像のそれぞれの設定
}

・・・・と書いたんだけど、グラフィックボタンを押したら直接飛ぶんじゃなくて、button_selectにそれぞれの数字(button[0]なら0と言う感じ)を入れて、後でそれを判定して飛ぶようにしたかったのだけど、
当然この形だと式中関数が実行されるとiが見つからずにエラーになるんだけど、これの対処方法ってどうすればいいんだろう?
一番良いのは、配列の添え字をそのまま数字として扱えれば理想なんだけど、そう言う事って可能かな?
式中関数を組み込む形で一気に配列で作ると、それぞれのボタンの違いを判断する方法が思いつかない・・・・・
■吉里吉里/KAG/TJS雑談質問スレ■その23
629 :名前は開発中のものです。[sage]:2011/04/13(水) 01:50:23.73 ID:xweTT8AM
>>628ありがとう。
これは思いつかない・・・・・勉強せねば
■吉里吉里/KAG/TJS雑談質問スレ■その23
630 :名前は開発中のものです。[sage]:2011/04/13(水) 10:32:05.40 ID:xweTT8AM
追質問申し訳無いです
>>628で式中関数の中で別の変数を定義する場合

function() {
global.kag.se[1].play(%[storage:'se_ok.wav']);
test_flag=true;
owner.button_select = i;
} incontextof %[ owner:this, i:i ]

このtest_flagを単にclassの外に定義してglobal.kag.test_flag=true;と書けば良いだけなんだけど、
classの中で定義した場合はどう書くんだろう? thisは使えないし、ownerもダメだし、
newで宣誓したオブジェクト名(global.xxxxx.test_flag=true;)でやるか、
timerなどで.button_selectを監視すると言うのも手だと思うけど、単純に上手く書けそうな気がするけど無理なのかな?
ちなみにclassの外に出来るだけ定義したくないのは、万が一変数が被るのが嫌なだけだから、絶対に被らない変数にしてしまうと言うのも手だと思うけど、それだと逆にスクリプト中で見にくいかなと。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。