mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 03:25 Benutzername: Passwort: Auto-Login

Thema: eventListener aus Array erzeugen mit AS3 vom 16.05.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> eventListener aus Array erzeugen mit AS3
Autor Nachricht
lars_frederikson
Threadersteller

Dabei seit: 20.04.2009
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Sa 16.05.2009 20:03
Titel

eventListener aus Array erzeugen mit AS3

Antworten mit Zitat Zum Seitenanfang

hi,

bin an einem projekt mit flash CS3/AS3 und habe folgendes Problem: Auf der Bühne sind 12 Movieclips, jeder benötigt drei EventListener. Wenn ich jetzt für jeden MC

name_mc.addEventListener(MouseEvent.MOUSE_OVER, funktionsname);

tippe, also 36 Zeilen, dann läuft`s anstandslos.

Wenn ich aber ein Array mit den Instanznamen der 12 MC`s packe, und mit

for (var i = 0; i < regionen.length; i++){

regionen[i].addEventListener (MouseEvent.MOUSE_OVER, color_change);

regionen[i].addEventListener (MouseEvent.MOUSE_OUT, color_change);

regionen[i].addEventListener (MouseEvent.CLICK, Fensteroffnen);
}

das ganze laufen lassen will, bekomme ich folgende Fehlermeldung:

Error #1006: value ist keine Funktion

Die Funktionsnamen passen aber, hab mir mit trace() auch die Array-Werte anzeigen lassen, die passen auch?

Wo liegt der Fehler?
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Sa 16.05.2009 21:54
Titel

Antworten mit Zitat Zum Seitenanfang

Warum so Umständlich ???

Probier mal
Code:


for(var i:uint = 0; i < this.numChildren; i++){
    var tmp:Sprite = this.getChildAt(i) as Sprite;
    tmp.addEventListener(MouseEvent.MOUSE_OVER, color_change);
    tmp.addEventListener(MouseEvent.MOUSE_OUT, color_change);
    tmp.addEventListener(MouseEvent.MOUSE_CLICK, Fensteroffnen);
}
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
lars_frederikson
Threadersteller

Dabei seit: 20.04.2009
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 18.05.2009 10:05
Titel

Antworten mit Zitat Zum Seitenanfang

warum so umständlich? weil ich`s anders nicht gebacken krieg... im ernst, der vorschlag ist bestimmt klasse, aber leider versteh ich ihn nicht ganz, deshalb nochmal. wenn ich

basiskarte_mc.andalusien_mc.addEventListener(Mouse_Event.CLICK, color_change);

tippe, dann funktionierts, aber mit

var regionen:Array = new Array("basiskarte_mc.andalusien_mc");

for (i = 0; i < regionen.length; i++){
regionen[i].addEventListener (MouseEvent.MOUSE_OVER, color_change);
regionen[i].addEventListener (MouseEvent.MOUSE_OUT, color_change);
regionen[i].addEventListener (MouseEvent.CLICK, Fensteroffnen);
}

krieg ich die Fehlermeldung #1006?

ich denke, dass das problem in der erstellung der EventListener innerhalb einer Funktion liegt, bzw. es wird ja innerhalb der for-Schleife auf andere Funktionen verwiesen. Könnte hier das Problem liegen?
  View user's profile Private Nachricht senden
phihochzwei
Moderator

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

Antworten mit Zitat Zum Seitenanfang

Ja weil "basiskarte_mc.andalusien_mc" ein String ist, und kein MovieClip.

Code:
for(var i:uint = 0; i < basiskarte_mc.numChildren; i++){
    var tmp:Sprite = basiskarte_mc.getChildAt(i) as Sprite;
    tmp.addEventListener(MouseEvent.MOUSE_OVER, color_change);
    tmp.addEventListener(MouseEvent.MOUSE_OUT, color_change);
    tmp.addEventListener(MouseEvent.MOUSE_CLICK, Fensteroffnen);
}


Zuletzt bearbeitet von phihochzwei am Mo 18.05.2009 10:19, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
lars_frederikson
Threadersteller

Dabei seit: 20.04.2009
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 18.05.2009 10:32
Titel

Antworten mit Zitat Zum Seitenanfang

stimmt, bei trace(regionen[i] gibt`s mir jetzt auch "object Movieclip" und nicht mehr die Namen der Movieclips als Strings aus.

Danke erstmal, die Sache läuft!
  View user's profile Private Nachricht senden
 
Ähnliche Themen Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
[JavaScript] Eventlistener im IE
AS 3 EventListener deaktivieren
Brauche etwas js-Hilfe … (eventListener)
Flash CS3 - EventListener soll variable ändern
Array addieren
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.