![]() |
Передача параметра в функцию, вызываемую через Enter Frame
Коллеги, изучив поиск по данному вопросу, не нашел однозначного решения.
Прошу извинить мои неизящные размышления, я выходец из AS2, переход не дается так просто... Приведу простой пример. Есть некоторый класс Engine, в котором через функцию placeBullet создается экземпляр класса Bullet и добавляется на сцену. И далее, я хочу через Enter Frame двигать этот экземпляр. Важно, что экземпляров одновременно может быть несколько. Код AS3:
Код AS3:
Т.е. мне бы хотелось иметь возможность сделать что-то похожее на это: Код AS3:
Код AS3:
Код AS3:
|
Массив буллетов.
|
при создании пули помещаете ее в массив пуль(или вектор пуль), внутрь пули пишите ее угол поворота и скорость(если она разная), по энтерфрейму пробегаетесь по массиву с пулями, и передевигаете каждую.
|
Меняйте своё мышление!!))
Создаёте класс, который будет отвечать за все ваши пули, типа BulletManager, в нём делаете массив (а лучше вектор) ваших объектов - все новосозданные объекты добавляйте туда. Далее... Не вижу, что вам мешает нормально сделать класс Bullet? Прописать всю необходимую логику внутри самого класса Bullet (в т.ч. все листенеры), а не в анонимной функции? При необходимости, можете конструктору класса Bullet передавать ссылку на объект, его создавший (или же на тот мувиклип, где нужно двигать сам буллет). Надеюсь стало яснее)) |
Спасибо! Массив - это действительно хорошая идея, буду пробовать.
На счет: Цитата:
|
Как-то не попадалось толковых книг именно по абстрагированию, то есть вычленению объектов (классов) в хаосе проектного задания; обычно размышления об этом раскиданы то там то сям, хотя это конечно самая основа ООП, правильно вычленить классы и разделить между ними ответственности. Кое что есть у Роберта Мартина в "Чистом коде", или у Мартина Фаулера в "Рефакторинге", но применительно к AS3 было бы полезно почитать книгу о шаблонах.
Это как раз первая в мире книга по AS3, призванная сразу направить в нужное русло "выходцев из AS2", поэтому ООП там уделено практически все внимание, не столько его "чистоте" как у Мартинов, сколько начальному ООП-мышлению. |
Цитата:
|
Цитата:
|
Цитата:
Код AS3:
|
Цитата:
Добавлено через 43 секунды Цитата:
Это тоже полезное замечание, чувствовал одним местом, что можно так, но не знал, как именно. Спасибо. |
| Часовой пояс GMT +4, время: 08:42. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.