![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 80
|
Делаю первую игру на ас3
(йа креветко, прошу простить за глупость моего измышления) Нужно обратиться к методу папы-мувиклипа, но что-то не получается... ![]() папа-клип: package {
import flash.display.MovieClip;
public class Menu extends MovieClip {
public function Menu() {
}
public function onPlay_menu():void {
trace("сына папу напрягает")
}
}
}
package {
import flash.display.MovieClip;
import flash.events.*;
public class Btn_play extends MovieClip {
public function Btn_play() {
addEventListener(MouseEvent.MOUSE_DOWN, onPressed);
}
private function onPressed(evt : Event):void {
parent.onPlay_menu(); //- вот оно!!!!!!!!!!!!!!!!
}
}
}
|
|
|||||
|
1) Menu(parent).onPlay_menu(); или parent["onPlay_menu"]();
2) выбираешь текст под маской и два раза жмешь ctrl+b 3) антиалайзинг только для внедряемых шрифтов
__________________
if (love is true) break my.heart; |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 80
|
а без контрол+Б? по чему так только?
я вроде шрифт внедрял... или обьясните как ето сделать.. а чойто за конструкция такая КЛАСС(parent).метод() откуда взял такое исполнение, обьясните пожалуйста логику етого, тоесть понятно мы приводи к типу Маин, хотя как так? ведь етот класс не импортирован в нашем классе-сыне Последний раз редактировалось etc; 05.09.2008 в 00:03. |
|
|||||
|
1) Входящий параметр метода onPressed у вас не того типа. Там должно быть не Event, а кое что другое
Хелп в помощь2) parent.onPlay_menu(); С этой строкой компилятор будет ругаться. Можно заменить ее на parent["onPlay_menu"]() Либо в Publish Settings - > Settings убрать галку со Strict Mode |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
Вариант с кастом, приведенный во втором посте, в принципе, пойдёт. Только с оператором as, а не как написано. А вообще, ребенок не должен вызывать методы родителя, никаких «сына папу напрягает», необходимо написать новое событие и высылать его по окончании проигрывания. |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 114
|
Цитата:
папа загружает ребенка, в котором содержится меню. По клику какого-либо из айтемов меню ребенка папа должен что-либо сделать... Я сделал это через LocalConnection и передаю папе идентификатор того айтема который был кликнут. В итоге как раз получается что "сына папу напрягает"... Может быть я что-то не так деляю??? Просьба объяснить, как правильно... ![]() Заранее спасибо! P.S. и еще я тут прочитал про пузырьки... блин не сразу понял что это bubbling... да писать на русском такие вещи... Последний раз редактировалось vvk80; 06.09.2008 в 01:04. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 114
|
у меня меню в отдельном swf, оно появляется один раз при запуске и потом исчезает, AIR пишет [UNLOAD SWF], так оно мне и надо... в итоге я не нашел друго способа, чтобы передать парметр из этой swf в родительскую...
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 80
|
я прочитал все что только можно про диспатч(которым мне надо воспользоваться).. но пока мой ум ещё слаб... помогите, как правильно написать для моего кода диспатч?
что то не пойму как в одном классе можно поймать событие другого? вот класс события: class CustomDispatcher extends EventDispatcher {
public static var ACTION:String = "action";
public function doAction():void {
dispatchEvent(new Event(CustomDispatcher.ACTION));
}
}
пишу там: и как терь поймать это событие, если событие генерирует вложеный мувик, а поймать должен его контейнер мувик? |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|