| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| AS Programmer Registriert seit: Dec 2009
Beiträge: 36
| EventListener auf Array (target.name) geht nicht.
Hi, ich habe ein Problem und zwar habe ich eine eigene Klasse erstellt, die einen MC erstellt. Ich erstelle durch eine schleife beispielsweise 10 mal ein Objekt von der Klasse mit unterschiedlichen Koordinaten. Also sieht man 10 MC auf der Bühne. Nun wollte ich in der Schleife auf jedes dieser Objekte einen EventListener hinzufügen mit Einem MouseEvent. Das Event ruft dann eine Funktion auf die einfach nur den Namen von dem Objekt ausgeben soll das gedrückt wurde. Angenommen das Array heißt test und es wurde der 2. MC gedrückt wäre der trace "test[2]" bei mit kommen dann wenn ich über "evt.target.name" immer irgendwelche instancen z.b. instance 23 über currentTarget oder currentTarget.name geht es auch nicht und über this geht es auch nicht. Geht das Allgemein nicht oder muss man das anders machen? Ein kleiner Code-Auszug mit der Schleife und der Test - Funktion. PHP-Code: |
| | |
| | #2 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Weiß nicht, ob ich dich richtig verstehe. So hier? PHP-Code:
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Oct 2009 Ort: Bremen
Beiträge: 147
|
Wenn du die Name-Eigenschaft des Objekts beim Erstellen nicht setzt, wird diese von Flash automatisch befüllt. Die target Eigenschaft eines MouseEvents gibt dir das Ziel zurück, welches das Event ausgelöst hat. Und die currentTarget-Eigenschaft das Objekt an das der EventListener gehangen wurde. (vorrausgesetzt das Event bubbled) |
| | |
| | #5 (permalink) |
| AS Programmer Registriert seit: Dec 2009
Beiträge: 36
|
Aus was für einen Typ besteht denn die name Eigenschaft? String? PHP-Code: Stimmt das? Kann das gerade nicht testen. |
| | |
| | #8 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.139
|
Nur mal so als Anmerkung, du kannst die Eignschaften von Klassen relativ einfach in der Hilfe nachschlagen. Ausserdem, und das ist gerade nur eine Anmerkung, würde ich den Code in mehr Methoden auslagern und mit stark typisierten lokalen Variablen zu arbeiten. Das hat den Vorteil, dass dir gute IDEs und der Compiler besser zu arbeiten können. Ausserdem macht es den Code lesbarer. Code: // Avoid runtime errors.
var news:Array = [];
private function completeXML(e:Event):void
{
homeXML = new XML(loader.data);
homeXML.ignoreWhitespace = true;
var id:int, length:int = homeXML.eintrag.length() - 1;
for (var a:int = length; a > -1; a--)
{
// Komplexes E4X will man nicht unbedingt debuggen
var title:String = homeXML.eintrag[a].title;
var date:String = homeXML.eintrag[a].date;
// Einfacher, lesbarer Code.
var news:News = new News(title, date);
news.addEventListener(MouseEvent.CLICK, test);
news.x = 5;
news.y = 40*(id-1)+190;
this.news[id] = addChild(news);
id++;
}
}
private function test(e:MouseEvent):void
{
// Hier auch am besten eine stark typisierten lokale Variable anlegen.
var movieClip:MovieClip = MovieClip(event.target);
trace(movieClip); //trace: [object MovieClip]
trace(movieClip.name); //trace: instance47
trace(e.currentTarget); //trace: [object News]
trace(movieClip.name); //trace: instance42
trace(this); //trace: [object Main]
}
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| array, eventlistener, target, target.name |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| EventListener, target & currentTarget | florianosch | ActionScript 3 | 6 | 20-01-2010 14:35 |
| eventListener an array | xact21 | ActionScript 3 | 7 | 23-10-2009 09:45 |
| eigene Eventlistener für einzelne Array Objekte? | Steril707 | ActionScript 3 | 2 | 27-11-2007 13:15 |
| end(Array) geht nicht | TrailFox | Server-Seite allgemein | 3 | 28-10-2007 17:03 |
| target geht nicht ! | Abzocker02 | PHP und MySQL | 7 | 24-03-2004 12:04 |