Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   удаление со сцены нужного клипа (http://www.flasher.ru/forum/showthread.php?t=185567)

silin 15.10.2012 18:37

>>при большом количестве экземпляров это даст дополнительную нагрузку. Совсем не круто.
да согласный я: лишняя оптимизация никогда не лишняя, особенно во флеше, кто ж против

только пока плеер не напрягается от тупого подхода, я сделаю лучше тупо, но очевидно, чем стану заморачиваться сделать круто )

да, самой крутой оптимизацией в описанной задачке будет в последнем кадре этих бумов поставить самоудаление :)
но как же ж - это ж позор, это ж не тру )

Добавлено через 2 минуты
>> и теперь как мне изменить строку
smallBoom, bigBoom они же все мувики по логике?
значит
Код AS3:

var boom:Movieclip= evt.target as Movieclip;


Frost47rus 15.10.2012 22:07

Цитата:

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


Часовой пояс GMT +4, время: 17:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.