![]() |
|
||||||||||
|
|||||
|
[+1.3 08.03.07]
|
Тема скорее всего уже поднималась, но чет поиск мне особо не помог. Буду очень благодарна, если вы мне объясните, в чем разница между
mc.addEventListener('click') и mc.onClick. Первый вариант, насколько я знаю, функциональнее. И еще очень хотелось бы разобраться с этим addEventListener(). Очень хочется почитать что-нибудь на эту тему. У меня вот возникла такая проблема. Есть класс, в нем описывается поведение некоторых объектов на сцене. В этом классе я хочу присвоить обработчик события мувиклипу, но так,чтобы в функции обработчика события были доступны переменные класса. Т.е. например есть такой код: class Test(){
var name;
function Test(){
this.name = 'my name';
_root.mc.mc_button.onRelease = this.myFunc;
}
function myFunc(){
trace(this.name)
}
}
А еще мне кажется, что я делаю все как-то уж слишком криво, была бы очень рада, если бы вы подкинули мне какие-нибудь приемы правильной работы с классами и слушателями событий. Вообще, про классы я перерыла немало литературы, но вот, как мне кажется, еще как-то не дошла до правильного их использования...Заранее спасибо. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Для изменения области видимости в «нужную сторону» используется Delegate.
addEventListener — метод, который есть у элементов, проинициализированных EventDispatcher. |
|
|||||
|
[+1.3 08.03.07]
|
Что-то совсем плохо. Перерыла кучу доков по addEventListner(). Чет никак у меня не работает в результате закрыла текущий проект, сделала новый. Положила на сцену кнопку и в первый кадр сцены написала код
Использую FLASH 8. Что я делаю не так? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
1) Кнопка должна быть компонентом (стандартным):
2) У неё должно быть Instance Name равное myButton. |
|
|||||
|
[+1.3 08.03.07]
|
instance Name есть. А к своим компонентам нельзя это применять? А если я создам свой мувиклип то к нему вообще нельзя addEventListener применять?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А это уже нужно рыть в сторону документации EventDispatcher.
|
|
|||||
|
Modus ponens
|
import mx.events.EventDispatcher;
//
[Event("onMyEvent")]
class Test extends MovieClip {
var __mc:MovieClip;
function Test(){
__mc = rect(this, 100, 100, 0, 70);
EventDispatcher.initialize(__mc);
__mc["addEventListener"]("onMyEvent", this);
__mc.onRelease = function(){
this["dispatchEvent"]({type:"onMyEvent"});
}
}
function onMyEvent(){
trace("native");
}
private function rect(_mc:MovieClip, w:Number, h:Number, c:Number, a:Number):MovieClip {
var mc:MovieClip = _mc.createEmptyMovieClip("child"+_mc.getNextHighestDepth(), _mc.getNextHighestDepth());
mc.beginFill(c, a);
mc.moveTo(0, 0);
mc.lineTo(w, 0);
mc.lineTo(w, h);
mc.lineTo(0, h);
mc.lineTo(0, 0);
mc.endFill();
return mc;
}
}
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|