Показать сообщение отдельно
Старый 09.05.2012, 23:20
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 19  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ладно. Теперь я расскажу, что имел в виду))
Код AS3:
// место где создаются кубики
var cube:MoneyCube = new MoneyCube();
_moneyCountBar.registerTrigger(cube);
 
// код в MoneyCountBar (панельке)
public function registerTrigger(trigger:IMoneyTrigger):void
{
	trigger.addEventListener(GameEvent.MONEY_BONUS, increaseCount);
}
 
public function unregisterTrigger(trigger:IMoneyTrigger):void
{
	trigger.removeEventListener(GameEvent.MONEY_BONUS, increaseCount);
}
Что за странная идея хранить ссылки на кубики в панельке? Их же потом не удалить.
Отписка нужна чтобы герой не получал бонусы, бегая по кубику взад-вперед))) Впрочем, для этого отписку можно вообще в хендлер события поставить, сделав кубики одноразовыми (до новой регистрации).
Код AS3:
Не морочте себе голову, подход с registerTrigger в данной ситуации ничего не дает
Демократия для политики. В программировании — иерархия. Кубики не обладают логикой, их много. "Много" не имеет права принимать решение. Панель одна, значит может хоть о чем-то думать. Поэтому кубики сообщают в штаб, а штаб решает что с этим делать, на основании указаний сверху в том числе.
У каждой задачи есть простое, очевидное и быстрое неправильное решение.
Потом разработчик говорит: "Вот посмотрите, я тут пару игр написал... Что? ООП? Нее... не слышал!"
__________________
Reality.getBounds(this);