Просмотр полной версии : class <= addListener
Создаю класс:
class ball{
....
Mouse.addListener(this);
onMouseDown = function{
что-то происходит
}
....
}
это не работает...в классе нельзя создавать слушатель, или я что-то делаю не так?
Только начинаю изучать классы...подскажите
а ты че так и пишешь? и не работает?
7thsky™ прав, не зная чего ты добиваешься, нельзя сказать..
вот так(если определять в контрукторе), например, работает:
class Ball{
function Ball(){
var o=this;
Mouse.addListener(o);
o.onMouseDown = function(){
trace('MouseDown');
}
}
}
я понимаю, что это дело в конструкторе.
Но почему нельзя сразу повесить слушателя this?
class Ball{
function Ball(){
Mouse.addListener(this);
this.onMouseDown = function(){
trace('MouseDown');
}
}
}
Почему так не работает?...спасибо за помощь
думаю, потому листером может быть тока объект (это было в AS1: класс и был объектом..,или что-то типа, в ас2 эземпляр с классом разделены)
еще думаю, что все мона, если знать чего добиывешься (а у тебя неясно..)
я понимаю, что это дело в конструкторе.
Но почему нельзя сразу повесить слушателя this?
class Ball{
function Ball(){
Mouse.addListener(this);
this.onMouseDown = function(){
trace('MouseDown');
}
}
}
Почему так не работает?...спасибо за помощь
Твой вариант вообще должен дать ошибку компиляции.
Надо объявлять переменную заранее, или dynamic class
class Test {
public var onMouseDown;
function Test () {
Mouse.addListener (this);
this.onMouseDown = function () {
trace ('MouseDown');
};
}
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.