私はゲーム ループで作業しており、ゲームの状態に応じて Function 型の変数にさまざまなメソッドを割り当てて、ユーザー入力を処理しようとしています。
Function 変数 inputFunction に InputState1 という定義済み関数を割り当てています。
var inputFunction:Function = InputState1;
ここで、InputState1 は次のとおりです。
public function InputState1():void
{
// input logic
}
ゲームループの update メソッドで inputFunction を呼び出します。
override protected function update(timeDelta:Number):void
{
trace(inputFunction);
inputFunction();
}
inputFunction をトレースすると、空の関数が返されます。
名前付き関数を関数変数に割り当てることは可能ですか?もしそうなら、どうすればこれを適切に行うことができますか?
解決策:関数を呼び出すだけでなく、関数変数呼び出しメソッドを呼び出していました。それは今動作します。