■吉里吉里/KAG/TJS雑談質問スレ■その16at GAMEDEV■吉里吉里/KAG/TJS雑談質問スレ■その16 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト661:名前は開発中のものです。 09/01/23 12:01:46 oYJQuEVX >>660 tf.myKeyDownHook = function(key, shift){ foo; }; kag.keyDownHook.add(tf.myKeyDownHook); // 場面転換 tf.myKeyDownHook = function(key, shift){ bar; }; みたいなことを言ってるの? 多分ムリじゃないかな 2度目以降の関数宣言(無名関数の代入)で新しい関数は別物として上書きする一方で addした先は関数(変数)名ではなく関数そのものを受け取っており、関数名をたよりに 逐次実行しているわけじゃないはず やるのであれば、一旦削除して新たに追加する tf.myKeyDownHook = function(key, shift){ foo; }; kag.keyDownHook.add(tf.myKeyDownHook); // 場面転換 kag.keyDownHook.remove(tf.myKeyDownHook); tf.myKeyDownHook = function(key, shift){ bar; }; kag.keyDownHook.add(tf.myKeyDownHook); 自分はよくf.statusとかkag.current_labelあたりで条件分岐するものを1つ用意してる 662:名前は開発中のものです。 09/01/23 12:30:02 peKMQFcu >>661 きっちりremoveしてやれば同名の関数でも運用できると。 関数はその時々で参照してるんじゃないのね。 実際の例としては、 関数で宣言→すぐadd→次の場面でremove→別の関数add って場面ごとに繰り返し記述してたので、 進むに連れて追加する数が増えていくし、 どのkeyDownHookかわかりづらくなるし。。 運用するなら確かに変数で状況ごとに分岐するの1つで 事足りそうだなぁ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch