Доступ "currentState" из других классов? - PullRequest
1 голос
/ 06 мая 2010

Я делаю небольшое приложение в Actionscript 3. В моем initApp.as я создал другой класс, который должен редактировать currentState, который доступен только из основного .as (initApp.as). Я нашел решение, позволяющее получить свойство currentState из моего другого класса: Application.application.currentState.

Это, однако, не очень хорошее решение, так как оно слишком сильно связывает классы ... Есть ли лучший способ редактирования currentState из других классов?

1 Ответ

2 голосов
/ 07 мая 2010

Я бы предложил вам использовать события и центральный диспетчер. Например:

In InitApp.as

Dispatcher.instance.addEventListener(StateChangeEvent.STATE_CHANGE, onStateChange);

protected function onStateChange(e:StateChangeEvent):void
{
    this.currentState = e.newState;
    // perhaps dispatch another state change event that all views can listen for?
}

В вашем другом классе

Dispatcher.instance.dispatchEvent(new StateChangeEvent(StateChangeEvent.STATE_CHANGE, newState);

где Dispatcher - это одиночный объект, а StateChangeEvent - пользовательское событие со свойством newState. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...