Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS4 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-06-2010, 13:14   #1 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 21
Question add remove listener durcheinander

hallo leute,

ich habe mehrere eventListeners (meist MouseEvent.CLICK) auf verschiedene frames und nach ausführen der dazugehörigen funktion, noch in der selben remove ich den jeweiligen listener.
das funktioniert aber überhaupt nicht. alles ist trotzdem durcheinander - z.b. wenn zu einem anderen frame gehe sind dort die alten listeners noch aktiv und die neuen werden nicht geadded.
ich nutze kein weak reference...

für jede hilfe bin ich dankbar!
smehito ist offline   Mit Zitat antworten
Alt 21-06-2010, 13:48   #2 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.163
ActionScript ist nicht auf den Frame begrenzt auf dem es steht. Wenn Du in einem Frame etwas änderst, bleibt das erhalten, auch wenn Du den Frame wechselst. Das gilt natürlich auch für EventListener.

Ich weiß nicht, was Du genau tun möchtest, aber wenn es darum geht die Zustände und Ziele von Buttons zu ändern, würde ich das über Variablen regeln die diese Zustände speichern und nicht in dem ich ständig neue Listener erzeuge...
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (21-06-2010 um 13:49 Uhr)
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 21-06-2010, 13:55   #3 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 21
hallo martin, und danke für die schnellen antworten.
dass das script frameübergreifend ist, ist mir schon klar
trotzdem musste doch ein listener weg sein, wenn er nach ausführen der funktion auch gleich removed wird, oder nicht?
ich habe 4 konstante buttons, die über 100 verschiedene frames jeweils verschiedene ziele bekommen. also auf jedes frame ein anderes listener.
wie ich dies in variablen einbinden soll, weiss ich nicht? bzw. noch 100 vars zu schreiben, wäre ja noch mehr wahnsinn, als es jetzt schon ist...
grüsse!
smehito ist offline   Mit Zitat antworten
Alt 21-06-2010, 14:01   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.163
Wird die Funktion, in der der Listener removed wird, denn wirklich auf jedem Fram ausgeführt?

Wenn Du mit Variablen arbeitest brauchst nicht 100 Variablen sondern 4 (für jeden Button eine).
Die deklarierst Du dann einfach am Anfang:
PHP-Code:
var funcBtn1:Function;
btn1.addEventListener(MouseEvent.CLICK, function(){
   if(
funcBtn1funcBtn1();
});

var 
funcBtn2:Function;
btn2.addEventListener(MouseEvent.CLICK, function(){
   if(
funcBtn2funcBtn2();
});

var 
funcBtn3:Function;
btn3.addEventListener(MouseEvent.CLICK, function(){
   if(
funcBtn3funcBtn3();
});

var 
funcBtn4:Function;
btn4.addEventListener(MouseEvent.CLICK, function(){
   if(
funcBtn4funcBtn4();
}); 
Und die belegst in jedem Frame neu:
PHP-Code:
funcBtn1 = function(){
   
// Deine Anweisungen
};

funcBtn2 = function(){
   
// Deine Anweisungen
};

funcBtn3 = function(){
   
// Deine Anweisungen
};

funcBtn4 = function(){
   
// Deine Anweisungen
}; 
Das müssen auch nicht zwangsläufig Funktionen sein (wie im Beispiel), sondern Du kannst mit allem arbeiten, was Deine Listener-Funktion verarbeiten kann.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (21-06-2010 um 14:05 Uhr)
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 21-06-2010, 23:05   #5 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 21
sehr coole idee! dankeschön! auf die einfachen lösungen kommt man (frau) mit der zeit wohl nicht mehr
es funktioniert bestens....wobei ich die if abfrage weggelassen habe.
THANX!
smehito ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
addeventlistener, eventlistener, mouseevent, mouseevent.click, removeeventlistener

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Listener Funktion ohne Listener ausführen Sebbal ActionScript 3 14 10-05-2009 12:05
Listener (Mouse Listener) in Klasse in .AS Datei verwenden. Wie? peterschmidt ActionScript 2 2 26-12-2007 09:08
Masken bringen Stage.Listener durcheinander! moka ActionScript 1 4 20-11-2006 11:35
swf durcheinander derKölner Flash 4 und Flash 5 2 21-08-2002 15:41
Durcheinander spinner Flash 4 und Flash 5 1 12-04-2002 18:23


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele