Я впервые использую 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
должен создать кнопки и затем передать их, или я полностью пропустил отметку?
Оцените ваш мудрый совет здесь.Спасибо!