- ■吉里吉里/KAG/TJS雑談質問スレ■その23
632 :名前は開発中のものです。[sage]:2011/04/13(水) 14:59:40.40 ID:38Z5Wtgk - ごめん、>>630の説明が悪かった。
//************************* var test_flag; //←問題はこれ※※ class Save_base() var save_layer; var button_ = []; function Save_base() save_layer = new Layer(kag, kag.fore.base); kag.add(save_layer); with(save_layer){// ここでセーブエリアのベースを定義 .visible=true;} for(var i=0;i<10;i++){ button_[i] = new SystemButtonLayer(kag, save_layer, function(){ global.kag.se[1].play(%[storage : 'se_ok.wav']); global.test_flag = false; //←問題はこれ※※ owner.button_ = i; //ボタンの種類 }incontextof %[ owner:this, i:i ]); with(button0_fore[i]){ .fillRect(0, 0,kag.scWidth,kag.scHeight, 0x00000000); .opacity=255;//ここで画像の共通部分定義 }} //以下端折る } //************************* ここで問題なのは、>>628が事前に教えてくれたように、グローバルを自動で検索しなくなってしまってる事で、 こうしてclassの外にtest_flagを定義するとちゃんとglobal.test_flag = false;でエラーが出ないんだけど、var test_flag;をclassの中に入れてglobal.Save_base.test_flag = false;としてもエラーが起きる。 kag.addPlugin(global.test_base = new Save_base());として、global.test_base.test_flagと書き換えると上手く動くけどそれじゃ複製出来ないし、色々試したけどダメだった。 万が一の事故が怖いからvar test_flag;をclassの中に入れて、式中関数が上手く動くように出来ないんだろうか?と言う質問。
| - ■吉里吉里/KAG/TJS雑談質問スレ■その23
634 :名前は開発中のものです。[sage]:2011/04/13(水) 16:35:15.25 ID:38Z5Wtgk - うーーーーん}incontextof this);ならvar test_flag;をclassの中に入れても式中関数中のtest_flagが普通に機能してるから定義前とか代入とかでは無いはずなんだけど、
}incontextof %[ owner:this, i:i ]);だと、当然thisを付けてもダメだし、global.Save_base.test_flag=false;でうまくいかない。
| - ■吉里吉里/KAG/TJS雑談質問スレ■その23
635 :名前は開発中のものです。[sage]:2011/04/13(水) 16:42:47.57 ID:38Z5Wtgk - 追記
var test_flag; をclassの中に入れた状態で、 }incontextof this);だと、this..test_flag=false;は機能してるけど、global.Save_base.test_flag=false;はエラーが出るぽい 何か間違ってるのかな?
|
|