addListener i jego usuwanie

Technologia Flash, czyli animacja na potrzeby stron WWW to świat daleko odbiegły od zwykłego programowania i kodu. Zapytaj o pomoc i podziel się z nami Twoimi problemami z zakresu Flasha.
szpak111
Nowy
Nowy
Posty: 87
Rejestracja: pn gru 17, 2007 11:43 am

addListener i jego usuwanie

Post autor: szpak111 »

Hej witam, mam pytanie: stworzyłam buton, na ktory jesli najade myszą, maja dziac sie rozne rzeczy, min. do myszy ma sie zblizyc klip "small". Zrobiłam to w ten sposób, ze do butona dodałam:

Kod: Zaznacz cały

on(rollOver) {
var qwe;
var someListener:Object = new Object();
someListener.onMouseMove = function () { 
qwe=_xmouse;
_root.small._x = _xmouse; _root.small._y = _ymouse;
};
Mouse.addListener(someListener);
}
Kiedy zjade mysza z butona, klip dalej przyjmuje wspołrzedne myszy, a tak nie ma byc. Kombinowałam cos podzaiałac z removeListener na akcję onRollOut, ale kompletnie sobie nie radzę, czy ktos mogłby mi cos podpowiedziec?Jak usunąc tego Listenera i czy w ogole powinnam go usuwac,czy cos innego nalezy zrobic?
Dzieki z gory.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: addListener i jego usuwanie

Post autor: Marek_bf »

Kod: Zaznacz cały

my_btn.onRollOver = function() {
	small.onMouseMove = foo;
};
my_btn.onRollOut = function() {
	delete small.onMouseMove;
};
function foo() {
	this._x = _xmouse;
	this._y = _ymouse;
	updateAfterEvent();
}
szpak111
Nowy
Nowy
Posty: 87
Rejestracja: pn gru 17, 2007 11:43 am

Re: addListener i jego usuwanie

Post autor: szpak111 »

jak zwykle wielkie dzięki MArek.
Skorzystam z twojego kodu, ale powiedz mi tylko, listenera nie da sie usunąć?
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: addListener i jego usuwanie

Post autor: Marek_bf »

Da się.

Kod: Zaznacz cały

var someListener:Object = new Object();
someListener.onMouseMove = function() {
	small._x = _xmouse;
	small._y = _ymouse;
};
my_btn.onRollOver = function() {
	Mouse.addListener(someListener);
};
my_btn.onRollOut = function() {
	Mouse.removeListener(someListener);
};
ODPOWIEDZ