![]() |
Нужно хитрое обращение к parent
Вложений: 1
Делаю первую игру на ас3
(йа креветко, прошу простить за глупость моего измышления) Нужно обратиться к методу папы-мувиклипа, но что-то не получается... :rtfm: папа-клип: Код:
package {Код:
package {
|
1) Menu(parent).onPlay_menu(); или parent["onPlay_menu"]();
2) выбираешь текст под маской и два раза жмешь ctrl+b 3) антиалайзинг только для внедряемых шрифтов |
а без контрол+Б? по чему так только?
я вроде шрифт внедрял... или обьясните как ето сделать.. а чойто за конструкция такая КЛАСС(parent).метод() откуда взял такое исполнение, обьясните пожалуйста логику етого, тоесть понятно мы приводи к типу Маин, хотя как так? ведь етот класс не импортирован в нашем классе-сыне |
1) Входящий параметр метода onPressed у вас не того типа. Там должно быть не Event, а кое что другое ;) Хелп в помощь
2) parent.onPlay_menu(); С этой строкой компилятор будет ругаться. Можно заменить ее на parent["onPlay_menu"]() Либо в Publish Settings - > Settings убрать галку со Strict Mode |
Цитата:
Вариант с кастом, приведенный во втором посте, в принципе, пойдёт. Только с оператором as, а не как написано. А вообще, ребенок не должен вызывать методы родителя, никаких «сына папу напрягает», необходимо написать новое событие и высылать его по окончании проигрывания. |
я прочитал все что только можно про диспатч(которым мне надо воспользоваться).. но пока мой ум ещё слаб... помогите, как правильно написать для моего кода диспатч?
что то не пойму как в одном классе можно поймать событие другого? вот класс события: Код:
class CustomDispatcher extends EventDispatcher {пишу там: Код:
var dispatcher:CustomDispatcher = new CustomDispatcher(); |
Сына подпишите:
Код:
addEventListener(CustomDispatcher.ACTION, myFunc); |
Ну например:
Код:
package {Код:
package { |
сработало... чудо, чудо... но над почитать что ето за супер() - пупер и как оно все так сработало...
а что ето за параметр второй в диспатче, для чего? super.dispatchEvent(new Event(Event.COMPLETE, true)); и как быть если бы все таки написал своё событие(CustomDispatcher), тот этот класс нужно было импортить куда: в Menu ? и в PlayButton ? и у меня в реальности может быть несколько вложеных клипов и каждый со временем передает вверх событие, поэтому нужно придумать разные эвенты, иначе самый верхний мувиклип сразу услышит самый нижний, а надо через определенное время средним клипом!!! |
В оба класса.
А вообще, почитайте про событийную модель в ActionScript 3 при работе с DisplayObject-ами. Тогда и вопросов, что за true в конструкторе Event. super() — вызов конструктора супер-класса, он, конечно, в любом случае будет вызван, но опускать вызов — плохой тон. |
| Часовой пояс GMT +4, время: 08:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.