AS3でアドベンチャーゲームを作っており、たくさんのクラスがあります。Enter Frame関数が1つだけで、そこからすべての更新関数が実行されると、パフォーマンスが最適になると聞きました。
現在、main.asにmainGameLoopがありますが、この単一のフレーム入力関数から実行される更新関数をすべてのクラスに含めるための最良の方法は何ですか?
これは、Playerクラスで更新関数を実行するために行った例ですが、このソリューションはまったく好きではありません。
誰かがそれを助けることができればそれは大いに感謝されるでしょう、ありがとう。
public class Main extends MovieClip
{
// Initialising variables...
private var m_SceneHandler:SceneHandler;
private var m_UserInput:UserInput;
public function Main()
{
// Adding main update function...
addEventListener( Event.ENTER_FRAME, mainGameLoop );
// Creating the scene handler...
m_SceneHandler = new SceneHandler();
addChild( m_SceneHandler );
}
private function mainGameLoop( event:Event )
{
doUpdate();
}
private function doUpdate():void
{
// Update player...
if (m_SceneHandler.m_aCurrentScene[0].m_Player)
{
m_SceneHandler.m_aCurrentScene[0].m_Player.doUpdate();
}
}