| |||||||
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: Feb 2004
Beiträge: 53
| flash 5 - mx
ich weiß, diese anfängerfragen sind immer etwas lästig, aber ich arbeite mich hier so langsam durch ein paar flashstar fla's und komm grade bei diesem selbst nicht wirklich weiter!http://www.flashstar.de/tutlist/redi...Ffstrommel.zip 1. gleich am anfang bekomm ich eine fehlermeldung bei: eval(eval("mc"+i)+".d") = i*15; was ja eigentlich auch klar ist, weil "eval" über den "mc" nur eine referenz ausgibt - oder täusch ich mich da? wird da nur eine neue konvention in mx verletzt, oder ist da ein grundsätzlicher fehler? 2. lässt "madokan"(glaube der heißt hier so) die ordner über ein "array" erstellen: mcPos = new Array(); for (i=0; i<24; i++) { duplicateMovieClip("mc", "mc"+i, i); eval(eval("mc"+i)+".d") = i*15; } mc._visible = false; fscommand("allowscale", "false"); frage: kann man in einem "array" auch mehrere movieclips oder buttons aufrufen, oder muß man die über einen anderen weg positionieren? bedanke mich schonmal für antworten, quirin |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Mar 2002 Ort: D'dorf
Beiträge: 765
|
hi quirin, zu deiner ersten Frage: seit Flash MX darf eval nicht mehr auf der linken Seite einer Zuweisung stehen. Das Problem kannst du auf zwei Wegen umgehen ActionScript:
gruß, roman |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Mar 2004
Beiträge: 38
|
//mcPos = new Array(); for (i=0; i<24; i++) { duplicateMovieClip("mc", "mc"+i, i); this["mc"+i].d=i*15; // eval(eval("mc"+i)+".d") = i*15; } mc._visible = false; ich habe mal 2 zeilen auskommentiert. 1. zeile: mag sein, dass ich in der eile was übersehen habe, aber meiner meinung nach ist die total überflüssig. du musst kein array erzeugen um duplikate zu erzeugen (das passiert in der for-schleife). die namen sehen durch die zusammensetzung "mc" +variable genauso aus wie objekte aus einem array. 5. zeile: ich habe zwar keine fehlermeldung bekommen, aber ich finde solche zeilen ... ähm ... ich würd es eben wie in zeile 4 schreiben. wenn es um das positionieren von objekten aus einer reihe geht (oder objekte die so aussehen), kannst du den dafür vorgesehenen arrayzugriffsoperator das ganze steuern und genau das habe ich in zeile 4 getan. hm. |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Feb 2004
Beiträge: 53
|
dank euch beiden, das hat schonmal ungemein geholfen! @romän: die syntax gefällt mir, allerdings bringt sie nicht die gewünschte lösung - dabei werden die mc's nicht dupliziert. ich weiß aber leider auch nicht woran das liegt... ...trotzdem danke @DayusRam: geht einwandfrei, vielen dank! was meine zweite frage angeht - ich möchte jetzt keine duplikate erzeugen sondern verschiedene mc's in der "for"- schleife platzieren - geht das? gruß, q. |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Mar 2004
Beiträge: 38
|
was genau meinst du mit "in der for-schleife platzieren". beschreib' mal genau, was du erreichen willst. ------------------------------------------------------------- äh, wenn ich das richtig sehe hätte romän statt: mc.duplicateMovieClip("mc", "mc"+i, i, {d:i*15}); das schreiben müssen mc.duplicateMovieClip ("mc"+i, i, {d:i*15}); Geändert von DayusRam (19-03-2004 um 18:41 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Feb 2004
Beiträge: 53
|
also so wie es jetzt ist, rotiert da ein schönes menu mit lauter gleichen duplizierten ordnern. ich möchte jetzt versuchen, den selben effekt mit verschiedenen menüpunkten zu erreichen, also mit unterschiedlichen mc's! so klappt's zwar, bin mir aber nicht sicher ob das script "sauber" ist: for (i=0; i<25; i++) { this["mc"+i].d=i*1; this["mc2"+i].d=i*15; } ??? |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Mar 2004
Beiträge: 38
|
for (i=0; i<25; i++) { this["mc"+i].d=i*1; this["mc2"+i].d=i*15; } hm. wieviele objekte willst du denn platzieren? 50 stück? mc0 bis mc24 und mc20 bis mc224? und warum sollen die variablen in mc0 bis mc24 auf 0 bis 24 gesetzt werden (die multiplikation mit 1 kannste weglassen es würde ein this["mc"+i].d=i eigentlich reichen.) |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Feb 2004
Beiträge: 53
|
ja, das mit der 1 hatte ich auch schon geändert. es sollen etwa 25 mc's sein. über die variablen wird doch, so hab ich es zumindest verstanden, die position gesteuert! das steht im mc in auf der stage: onClipEvent (load) { p = 500; posX = 225; posY = 315; } onClipEvent (enterFrame) { r = 120; a=d*0.0174532925199433; d = d+((_root._ymouse-200)/40); xP = r*Math.cos(a); zP = r*Math.sin(a); z = 1/(1-(zP/p)); _y = ((xP*z)+posX); _x = posY; _yscale = (zP-30); _xscale = (z*50); _alpha = (zP+120); swapdepths(z*1000); } oder nicht? |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Mar 2002 Ort: D'dorf
Beiträge: 765
|
nur mal kurz zwischendurch, ich hatte nen blöden copy+paste fehler drin. Tschuldigung. Das Script müsste richtig heißen: ActionScript:
gruß, roman |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Feb 2004
Beiträge: 53
|
da hab ich wohl einen großen denkfehler, dabei dachte ich grade ich hätte es verstanden ...for (i=0; i<25; i++) { this["mc0"+i].d=i*20; this["mc1"+i].d=i*10; this["mc2"+i].d=i; . . . } so hätte ich das jetzt aufgebaut - aber klar, so sprech ich ja immer wieder 25 neue an! ohne schleife reicht ja eigentlich: this["mc0"].d=1; this["mc1"].d=10; this["mc2"].d=20; ... nur kann man das bestimmt noch schöner schreiben! die mc's hab ich in der instanz wie oben "mc0", "mc1", "mc2" usw. genannt. gruß
__________________ "künstler und verbrecher ...................................... sind doch weggefährten, beide verfügen über eine verrückte kreativität, beide sind ohne moral, ......................................... nur getrieben von der kraft der freiheit!" beuys |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Feb 2004
Beiträge: 53
|
jetzt is es perfekt - danke, danke!
__________________ "künstler und verbrecher ...................................... sind doch weggefährten, beide verfügen über eine verrückte kreativität, beide sind ohne moral, ......................................... nur getrieben von der kraft der freiheit!" beuys |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |