| |||||||
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) |
| Neuer User Registriert seit: Jun 2010
Beiträge: 9
|
ich will eine for schleife basteln die sowohl movieclips erstellt als ihnen auch eigene namen und functions inkl. event listener zuteilt Code: for (var i:Number=0; i<10; i++) {
var my_mc = new MovieClip();
my_mc.graphics.beginFill(0xFF0000);
my_mc.graphics.drawRect(0, 0, 100, 80);
my_mc.graphics.endFill();
my_mc.name="mc"+i;
my_mc.x=125*i-100;
addChild(my_mc);
my_mc.addEventListener(this["testFunction"+i]);
function "testFunction"+i(event:MouseEvent):void {
trace(i)
}
} bei der function jedoch bekomm ich allerlei compiler fehler =/ jemand ne idee wie man das problem lösen kann? P.S.: beschäftige mich erst seit kurzem mit AS3 (hatte vorher aber einige AS2 erfahrungen gesammelt) |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Das funktioniert so nicht. Schaue dir mal die Signatur der addEventListener Methode an. Zumal du keinen Gewinn davon trägst, alles super dynamisch zu bauen.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2010
Beiträge: 9
|
hm ah okay, ja kleiner flüchtigkeitsfehler das ich den MouseEvent vergessen hatte my faultCode: my_mc.addEventListener( MouseEvent.CLICK,this["testFunction"+i]);
function this["testFunction"+i](event:MouseEvent):void {
trace(i)
} das spätere endprodukt soll 40 dieser buttons umfassen(und niemand bastelt 40 mal die selbe funktion mit minimalen änderungen) ne idee wie man das sonst generieren kann, ohne jede funktion einzeln zu machen? |
| | |
| | #4 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Wieso arbeitest Du nicht einfach so: PHP-Code:
__________________ 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 (30-06-2010 um 11:30 Uhr) |
| | |
| | #5 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jun 2010
Beiträge: 9
|
ah okay event.currentTarget kannte ich noch nicht! ddas hilft mir schon um einiges weiter, danke =) hab jetzt mal folgendes ausprobiert Code: trace(event.currentTarget.name.split("mc")) |
| | |
| | #7 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
| Code: var _clips:Array = [];
for (var i:int = 0; i< 10; i++)
{
var clip:MovieClip = new MovieClip();
clip.addEventListener(MouseEvent.CLICK, clickHandler);
clip.graphics.beginFill(0xFF0000);
clip.graphics.drawRect(0, 0, 100, 80);
clip.graphics.endFill();
clip.x=125 * i-100;
_clips[i] = addChild(clip);
}
function clickHandler(event:MouseEvent):void
{
trace(_clips.indexOf(event.currentTarget));
}
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #8 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Am saubersten wäre natürlich eine eigene Klasse für die Buttons zuschreiben und darin die gesamten Funktionalitäten zu kapseln.
__________________ 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! |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Jun 2010
Beiträge: 9
|
@Omega Psi: die buttons bekommen allerlei eventListener für dragNdrop, einige tweens(größer/kleiner werden) und werte bezüglich der position an ne variable+ array übertragen (alles schon getan, fehlt halt nur noch ne for schleife zum generieren) EDIT: zu deinem code: funktioniert recht gut!ich glaube das weitere erübrigt sich den rest sollte ich gebacken bekommen, falls nicht meld ich mich nochmal ![]() vielen dank für die schnelle hilfe Geändert von gurki (30-06-2010 um 12:00 Uhr) |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Jun 2010
Beiträge: 9
|
hm okay habs jetzt soweit: Code: var _clips:Array = [];
var rectangle:Rectangle=new Rectangle(but1.x,330,0,-130);
for (var i:int = 0; i<= 10; i++)
{
var clip:MovieClip = new MovieClip();
clip.addEventListener(MouseEvent.MOUSE_DOWN, downHandler);
clip.graphics.beginFill(0x000000);
clip.graphics.drawCircle(10, 100, 10);
clip.graphics.endFill();
clip.name="mc"+i
clip.x=50 * i-25;
_clips[i] = addChild(clip);
}
function downHandler(event:MouseEvent):void
{
this["mc"+_clips.indexOf(event.currentTarget)].startDrag(false, rectangle);
//clicked=
trace("mc"+_clips.indexOf(event.currentTarget));
trace(event.currentTarget.name)
} dachte die namen werden doch zugeteilt und sind dann ansprechbar? |
| | |
| | #11 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Der name hat in AS3 nicht mehr zwingend etwas mit der lokalen Variable zu tun, die auf den MC zeigt. Das ist aber in der Regel auch gar nicht mehr nötig: PHP-Code: Aber nochmals mein Tip: Schau Dir mal Klassen an. Die wurden nämlich genau für das erfunden, was Du hier vorhast (viele Objekte mit gleichen Funktionen und verschiedenen Eigenschaftsausprägungen).
__________________ 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 (30-06-2010 um 15:37 Uhr) |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| dynamisch, for schleife, function, name |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| dynamische klassen namen ? | bloba | ActionScript 2 | 3 | 06-01-2009 22:47 |
| Dynamische Namen und Eigenschaften | jumpingjokes | ActionScript 1 | 5 | 23-09-2004 20:35 |
| Dynamische Namen für MCs & onPress | baju | Flash MX | 10 | 11-08-2004 16:00 |
| dynamische array-namen | newramses | ActionScript 1 | 3 | 15-05-2004 19:27 |
| dynamische Variablen-Namen | marox | ActionScript 1 | 3 | 26-06-2002 16:53 |