mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 11:00 Benutzername: Passwort: Auto-Login

Thema: AS 3 EventListener deaktivieren vom 18.10.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> AS 3 EventListener deaktivieren
Autor Nachricht
Net Works
Threadersteller

Dabei seit: 11.09.2010
Ort: Neustadt
Alter: -
Geschlecht: -
Verfasst Mo 18.10.2010 15:07
Titel

AS 3 EventListener deaktivieren

Antworten mit Zitat Zum Seitenanfang

Hallo, nach dem AS3-Redesign meiner Page bin ich nun am optimieren des Codes und habe folgendes Problem:

Auf die 4 Hauptnavigationen habe ich event-Listener gesetzt. Nun ist es aber so, dass sich die Positionen der Navigationspunkte verändern. Momentan habe ich es so geregelt, dass ich die Eventlistener bei onClick entferne und nach dem Navi-Move wieder setze. Gibt es eine Möglichkeit, die EventListener zeitweise zu deaktivieren?

Schauen kann man auch schon: http://www.tmc2000.de Ihr seht dort den Nav-Move.

Grüße
Lars
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Mo 18.10.2010 16:37
Titel

Antworten mit Zitat Zum Seitenanfang

Warum machst Du nicht EINEN Eventlistener, der je nach geklicktem Ziel unterschiedliche Aktionen macht (Stichwort event.target und event.currentTarget)
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Net Works
Threadersteller

Dabei seit: 11.09.2010
Ort: Neustadt
Alter: -
Geschlecht: -
Verfasst Mo 18.10.2010 17:09
Titel

Antworten mit Zitat Zum Seitenanfang

Oh, du sprichst von einer EventListener-Funktion .

Bei der Subnavi hab ich das so gemacht
Code:
switch( e.currentTarget.name ){
      case subnavCatcher[0].name:
      ...


Aber auch wenn ich nur eine Funktion habe, muss ich für jeden Nav-Punkt 3 Listener erstellen, removen, erstellen. Is quasi am Problem vorbei.
Aber wie so oft, gibt es eine einfache Lösung, wenn man den Wald bei den Bäumen sieht. Ich hoffe, sie ist ok für das, was ich benötige.

Ich hab nun eine Variable eingeführt:

Code:
var doEventListener:Boolean = true; // gibt an, ob eine Aktion in den EventListener-Funktionen vollzogen werden soll oder nicht

Die wird in der Listener-Funktion genutzt. Ich setze Sie bei onClick auf false und nach dem Navi-Move wieder auf true.
Die add und remove Listener Funktionen konnte ich dann rausschmeissen und hab einiges an Zeilen gespart.

Grüße
Lars
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Mo 18.10.2010 17:28
Titel

Antworten mit Zitat Zum Seitenanfang

Net Works hat geschrieben:
Aber auch wenn ich nur eine Funktion habe, muss ich für jeden Nav-Punkt 3 Listener erstellen, removen, erstellen.



Wieso ?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Net Works
Threadersteller

Dabei seit: 11.09.2010
Ort: Neustadt
Alter: -
Geschlecht: -
Verfasst Mo 18.10.2010 17:41
Titel

Antworten mit Zitat Zum Seitenanfang

Für MouseOver, MouseOut und Click.
Aber wenn die Navigation moved, soll man nicht clicken können etc. Also habe ich in meinem jugendlichen Leichtsinn die Event-Listener entfernt. 4 * 3 sind ja 12 Stück und danach habe ich sie wieder hinzugefügt.
Und dieses Problem habe ich nun gelöst, indem ich einen Schalter eingebaut habe, der besagt, ob die Aktionen in der mouseOver/Out/Click-Funktion ausgeführt sollen oder nicht.

Hab ich einen Denkfehler?

Grüße
Lars
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Mo 18.10.2010 17:48
Titel

Antworten mit Zitat Zum Seitenanfang

Am einfachsten:

Clip/Sprite erstellen. Da die Buttons rein. Dann den Listener auf den Clip, NICHT auf die Buttons. Dann bei Begin der Animation den Clip auf clip.mouseEnabled = clip.mouseChildren = false setzen und am ende der animation wieder auf true. Fertig
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Net Works
Threadersteller

Dabei seit: 11.09.2010
Ort: Neustadt
Alter: -
Geschlecht: -
Verfasst Mo 18.10.2010 18:01
Titel

Antworten mit Zitat Zum Seitenanfang

Very smooth.
An einen DisplayObjectContainer hatte ich garned gedacht. So spart man doch einige Zeilen.
Danke Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Mo 18.10.2010 18:14
Titel

Antworten mit Zitat Zum Seitenanfang

Kein Ding Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [JavaScript] Eventlistener im IE
eventListener aus Array erzeugen mit AS3
Brauche etwas js-Hilfe … (eventListener)
Flash CS3 - EventListener soll variable ändern
CS3 deaktivieren - nur wie?
[AS2] Rechtsklick deaktivieren
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.