![]() |
Нужно хитрое обращение к 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() — вызов конструктора супер-класса, он, конечно, в любом случае будет вызван, но опускать вызов — плохой тон. |
где можно почитать про событийную модель в ActionScript 3 на русском?? (яндекс, гугл не помогли)
|
Открыть хелп, например.
|
еще почитал, и терь вижу что пузырьки!!!! могут сделать все что надо!!!
и как я понял супер() - вообще не нужен для пузырьков(ИМХО) может я коечно ошибаюсь и не правильно понимаю ету статью : http://riapriority.com/blogs/constantiner.php/c16/ но у меня все работает и без супер() |
tananuka, "супер" это совершенно другая опера. Вам по-моему это слегка выше уже написали, но, кажется, у Вас пелена перед глазами ... жаль ...
|
блудхунд, а мне как... но ничё, всему своё время... но как вы чётко про пелену, только размышлял над этим... какие не были учебники, каждому открывается по разному... но ето уже другая мозила))))
|
Цитата:
папа загружает ребенка, в котором содержится меню. По клику какого-либо из айтемов меню ребенка папа должен что-либо сделать... Я сделал это через LocalConnection и передаю папе идентификатор того айтема который был кликнут. В итоге как раз получается что "сына папу напрягает"... Может быть я что-то не так деляю??? Просьба объяснить, как правильно... :rolleyes: Заранее спасибо! P.S. и еще я тут прочитал про пузырьки... блин не сразу понял что это bubbling... да писать на русском такие вещи... |
Цитата:
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 08:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.