いくつかのゲームオブジェクトを保持するLinkGroupというクラスがあります。Rotateを呼び出して、これらのオブジェクトにいくつかの回転変数を設定します。ゲームが更新ループに到達するたびに、回転変数に従ってオブジェクトを回転します。それらが十分に回転した場合、onCompleteコールバックを起動します。
次のコードは機能します...
public void Rotate(){
_currentRotation = _0;
_targetRotation = 180; //degrees
_rotationSpeed = 50;
try{
_onComplete = LinkGroup.class.getDeclaredMethod("rotateComplete", null);
}
catch(Exception ex){
}
}
...しかし、これは醜いです。
メソッドrotateCompleteを宣言し、文字列を介して手動でRotateにリンクする必要はありません。Rotateメソッド内でrotateCompleteメソッドを宣言できるように、C#の無名関数に似たものはありますか?
ボーナスポイントについては、「getDeclaredMethod」に必要な例外処理を実装するためのより良い方法はありますか?簡潔さは好みです。