![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Заранее знаю, что будете ругать и говорить, что так не правильно, и так не делается.
И что, только родитель вправе чтото спрашивать у ребенка, но всеже я осмелюсь открыть темку ) Мучаюсь с самого начала изучения AS3 - так как в AS2 было все до ужаса просто и можно было бесконечно бегатть туда сюда и дергать что попало: this._parent._parent.aaa.mc._parent.bbb.mc2. ... Ближе к делу. Допустим есть много классов выполняющих разные события: 1 реагироване на мышь 2 реагирование на клаву 3 постоянное вращение 4 увеличение и уменьшение ...вообщем кучу всяких функций - которые в итоге можно применить к РОДИТЕЛЮ - если их в него добавить var Papa:PapaClass = new PapaClass(); addChild(Papa); var Sin:Run = new Run(); Papa.addChild(Sin); package { public class Sin extends MovieClip { public function Sin() { parent.addEventListener(MouseEvent.CLICK, cliked); } //описание функции clicked } (или обратиться к его свойствам? - parent.x например) Пускай даже это будет не "по понятиям" ))) - но чтоб сработало
__________________
http://apa-noua.com/portfolio |
|
|||||
public class Sin extends MovieClip { public function Sin() { addEventListener(Event.ADDED, onAdded); removeEventListener(Event.ADDED, onRemoved); } private function onAdded(event:Event):void { parent.addEventListener(MouseEvent.CLICK, clicked); } private function onRemoved(event:Event):void { parent.removeEventListener(MouseEvent.CLICK, clicked); } private function clicked(event:Event):void { // } } |
|
|||||
|
Я хочу создать некий набор инструментов, которые в будушем легко смогут подходить под разные задачи.
тоесть хочу написать такие классы как: 1 тянуть-бросать 2 поворачивать 3 приближать отдалять 4 дублировать и тп в итоге подключать их к разным графическим классам, все вместе или выборочно по одиночке. например загрузил картинку в некий контейнер а также добавил туда класс тоскать и автоматически не определяя границы - мышкой можно будет подвести к любому кусочку главного контейнера и перетащить его ну вот както так. наследованеи изучал - очень пожалел о том что наследоватсья можно всего единажды иначебы такой дебильной темы и не создавал (хотя дебильной она должна казаться тем кто глубоко шарит, мне же кажеться мультинаследование былобы очень кстати) во втором я такое практиковал и все работало прекрасно а в третьем почемуто подход совсем с иной стороны и причем одностаронний какойто - вот и въехать не могу неужели такой универсальности добиться нельзя и каждый раз все надо писать сначало причем с одного боку (( Добавлено через 4 минуты expl - огромное спасибо! то что нужно! ))
__________________
http://apa-noua.com/portfolio |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
А почему у вас "эффекты" являются DisplayObject'ом? В простейшем случае это обычный класс, который прямую ссылку и получает. new Runner(ui : DisplayObject). Или Runner.addRun(ui : DisplayObject). В обоих случаях ссылка передается явно. Если вам нужен визуальный контроллер (стрелочки для вращения), то там опять parent не нужен. someObject.addChild(Runner.createRunnerFor(someObject)). В этом случае UI можно куда угодно добавлять.
|
|
|||||
|
Вот вы бы себя поняли - еслибы вернулись в прошлое на пару лет?
)все отчетливо понятно только лишь на кодовых примерах )
__________________
http://apa-noua.com/portfolio |
|
|||||
|
Цитата:
public class Effect extends Object // optinional { public function Effect(d_o:DisplayObject):void { // do something with DO } }
__________________
Марк Tween |
|
|||||
|
Модрон-ветеринар
|
Название темы не раскрывает сути вопроса. Закрыто.
__________________
Идите первым! |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|