1
我第一次使用基於類的FSM,對於設置初始狀態的最佳做法我有點困惑。在FSM中設置狀態
我已經添加了一個FSM到我想用來處理(主要)轉換的Screen
類。傳統上我會這樣做:
function update(frameTime : Number) : void
{
switch(_currentState)
{
case STATE_TRANSITIONING_IN:
slideTheButtonsIn();
if(buttonsInPlace == true)
changeState(STATE_ACTIVE);
break;
case STATE_ACTIVE:
if(buttonClicked() == true)
changeState(STATE_TRANSITIONING_OUT)
break;
case STATE_TRANSITIONING_OUT:
slideButtonsOut();
if(buttonsInPlace == true)
removeThisScreen();
break;
}
}
我認爲這是一個非常標準的方法。
所以我的新狀態的問題是,世衛組織負責在屏幕上創建所有對象?我的Screen
是否應該創建所有按鈕和內容,然後將它們傳遞給MainMenuTransitionInState
課程,或者MainMenuTransitionState
課程是否創建按鈕,然後將它們傳遞給我們,還是讓我完全錯過了標記?
欣賞你的聖人忠告。謝謝!