Цитата:
Сообщение от 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 в переменную экземпляра и на каждом действии - делайте эту проверку, чтобы отличать одно от другого. Всё зависит от задачи. Иногда красивостью кода можно пренебречь, "лишьбыработало". А иногда, код нужно будет расширять - и надо думать над более красивым решением.