Показать сообщение отдельно
Старый 15.10.2012, 22:07
Frost47rus вне форума Посмотреть профиль Отправить личное сообщение для Frost47rus Найти все сообщения от Frost47rus
  № 12  
Ответить с цитированием
Frost47rus

Регистрация: May 2012
Сообщений: 131
Цитата:
Сообщение от In8Finity Посмотреть сообщение
Вот в первой части у меня может быть не просто
Код AS3:
boom1 = new Boom();
а в зависимости от условий, например, так:

Код AS3:
if (tempFlag == 1) { boom1 = new smallBoom(); }
else
if (tempFlag == 2) { boom1 = new bigBoom(); }
передавайте tempFlag прямо в конструктор Boom

Код AS3:
boom = new Boom(tempFlag);
и внутри по этому условию создавайте тот бум, который нужен.

Цитата:
Сообщение от In8Finity Посмотреть сообщение
и теперь как мне изменить строку
Код AS3:
var boom:Boom = evt.target as Boom;
так, чтобы подставлялись нужные бумы?
попробовал так, но, конечно, неправильный синтаксис:
Код AS3:
if (boom1 == smallBoom()) boom:smallBoom = evt.target as smallBoom;
if (boom1 == bigBoom()) boom:bigBoom= evt.target as bigBoom;
тогда и надобность в этой проверке отпадёт. все бумы будут Boom'ами вне зависимости от размера.

Если же для каждого из бумов есть свои уникальные методы внутри - тогда создавайте большие и маленькие бумы по отдельности, вешая на них одинаковые слушатели с разными обработчиками - и не надо будет проверять. Или как вариант, записывайте tempFlag в переменную экземпляра и на каждом действии - делайте эту проверку, чтобы отличать одно от другого. Всё зависит от задачи. Иногда красивостью кода можно пренебречь, "лишьбыработало". А иногда, код нужно будет расширять - и надо думать над более красивым решением.