| |||||||
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) |
| Student Registriert seit: Oct 2011
Beiträge: 9
| Mehrdimensionales Array
Nach vielen Stunden Arbeit ohne Ergebnisse, möchte ich nun euch fragen da ich es anscheinend nicht versteh. Habe ein mehrdimensionales Array, ich möchte nun das nach jedem erzeugten Objekt aus der Bibliothek eine zufällige Pause gemacht wird, bis der nächste Arraywert ausgelesen wird. Code: //Array der Feuer-Koordinaten
var FireArray = new Array();
FireArray[0] = ({xk:240, yk:276});
FireArray[1] = ({xk:255, yk:288});
FireArray[2] = ({xk:304, yk:288});
FireArray[3] = ({xk:333, yk:307});
FireArray[4] = ({xk:361, yk:289});
FireArray[5] = ({xk:380, yk:308});
//Länge des Arrays
var ArrayLenght = FireArray.length;
//Zähler für Feuererzeugung
var n = 1;
function machFeuer() {
for(i=0; i < ArrayLenght; i++) {
// Parameter
// 1) Bezeichner des Symbols
// 2) Instanzname der neuen Instanz
// 3) Tiefe
_root.attachMovie("fire", "fire" + n, n);
_root["fire"+n]._x = FireArray[i].xk;
_root["fire"+n]._y = FireArray[i].yk;
//Dem Feuer ein Skript zuweisen
_root["fire"+n].onEnterFrame = function() {
}
//Laufvariable inkrementieren
n++;
}
} Freue mich auf jeden Fall für jede Hilfe!! Lg |
| | |
| | #2 (permalink) | |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
willkommen im flashforum. Zitat:
und schau dir in der flash-hilfe bitte das setInterval an.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (12-10-2011 um 00:01 Uhr) | |
| | |
| | #3 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Hallo und willkommen im FlashForum! Zunächstmal ist das kein mehrdimensionales Array, sondern eine Array von Objekten (aber das nur am Rande). Wenn verschiedene Aktionen zeitlich nacheinanderausgeführt werden sollen, ist es keine gute Idee, sie auf einen Rutsch mit einer for-Schleife abzuarbeiten. Versuch's stattdessen mal mit einem Interval: 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 (12-10-2011 um 00:07 Uhr) |
| | |
| | #4 (permalink) | |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
| PHP-Code: Zitat:
![]() und nur zum verständnis: das was du hier hast ist immer noch ein eindimensionales Array (eine Liste von Objekten). Bei mehrdimensionalen Arrays hast du Array in Array (in Array ...), und dann erst einen Wert || Objekt edit: zu spät, und dann auch noch (fast) das selbe geschrieben wie Martin Geändert von thomas_E (12-10-2011 um 00:12 Uhr) | |
| | |
| | #6 (permalink) |
| Student Registriert seit: Oct 2011
Beiträge: 9
| removeMovieClip();
Sodale hab jz mein Dokument angepasst an die allgemeine Schreibweise, warum jedoch soll man nicht "_root" verwenden? Hab es auch geschafft das die Elemente durcheinander ausgegeben werden. Jetzt habe ich nur das Problem das ich einen Stop-Button habe und wenn ich den klicke sollen die erzeugten Objekte gelöscht werden. Code: _root.stop_btn.onRelease = function() {
gotoAndPlay(3);
stop();
//Löschen der Intervalle
clearInterval(fireInterval);
clearInterval(countdownInterval);
//Feuer von der Oberfläche löschen
for(i=0; i < 35; i++) {
_root.fire0.removeMovieClip();
//_root.fire1.removeMovieClip();
//_root.fire2.removeMovieClip();
//_root.fire3.removeMovieClip();
}
} |
| | |
| | #7 (permalink) | ||
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
| Zitat:
Zitat:
Habe mich mal an thomas' Code zuschaffen gemacht um besagtes zu demonstrieren: PHP-Code:
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick Geändert von milchreis (17-10-2011 um 22:52 Uhr) | ||
| | |
| | #8 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
fast 1000%ig richtig ;-) in machFeuer wird (timeoutID = setTimeout) timeoutID mit einem neuen wert gefüllt. damit kann ein timeoutID 'verlohren' gehen und wird ewig weiter arbeiten. das clearTimeout(timeoutID); in onMouseDown entfernt immer nur das aktuelle timeoutID. entweder dem clickobjekt sein timeoutID zuordnen, oder vor dem neu erzeugen das alte timeoutID stoppen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (18-10-2011 um 09:28 Uhr) |
| | |
| | #9 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
|
Wird das fires Array nicht auch beliebig lang?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #10 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
korrekt. also fast 999%ig richtig :-( die objekte werden sowohl als mc auf der bühne als auch als referenz im array verwaltet. also doppelt. es wird aber nur das mc auf der bühne entfernt. das mit dem array ist grundsätzlich richtig. u.a. auch wenn man die grafik von allem anderen trenne will. hier würde sich anbieten anstatt einem array ein objekt (container - auf der bühne) zu benützen. und wenn's eine eigene function zum entfernen geben würde (anstatt das mitten im script irgendwo mit zu machen) dann hätte man sich eventuell auch mehr gedanken darüber gemacht: was gehört alles zum entfernen. tja, es bleibt schwierig ;-)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (18-10-2011 um 09:38 Uhr) |
| | |
| | #12 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
| blecheimer. ein behälter, in dem etwas drinn ist. alle mc's sind in einem anderen mc drinn. also ist das der container (der behälter) für diese mc's. der oberste/ unterste (je nachdem wie man das dreht) behälter ist root. da ist alles drinn. hier z.b. ein container, ein mc, der selbst garkeine grafik besitzt. in dem aber alle "Fire" ge'attachMovie't werden (und nur diese). vorteil: man kann alle auf einmal verschieben, löschen, ausblenden usw. und eben auch den inhalt zählen usw. nachteil z.b.: ein array kann man sortieren. den inhalt von einem objekt nicht. gut man kann die tiefe vertauschen .. man muss sich halt vorher überlegen, was man machen will und dazu passend die beste lösung finden.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (18-10-2011 um 10:06 Uhr) |
| | |
| | #13 (permalink) |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
| Ich dachte timeout wird nur ein mal ausgeführt? Insofern gibt's doch nach dem starten des ersten timeouts nur 2 Möglichkeiten: - entweder die funktion wird aufgerufen, wodurch das timeout (mit der aktuellen ID) beendet wird (und ein neues gestartet) - oder jemand klickt und der timeout wird abgebrochen wo geht da was verloren?
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick |
| | |
| | #14 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
ja, sorry, habe setTimeout mit setInterval verwechselt.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #15 (permalink) |
| Student Registriert seit: Oct 2011
Beiträge: 9
|
Hab nun eine gemischte Form von Thomas_E & milchreis geschrieben und es funktioniert. ![]() PHP-Code: Auch ein Danke für alle Hinweise, jz muss ich es schaffen dass die Feuer anklickbar sind und somit löschbar oder wenn sie nicht angeklickt werden das sie nach eienr bestimmten Zeit sich selbst löschen. Für Hinwiese bin ich dankbar! Lg Marcus
__________________ Student an der FH St.Pölten - 1 Sem. Flash |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| mehrdimensionales array | r74 | Flash Einsteiger | 8 | 09-03-2007 13:22 |
| Mehrdimensionales Array | thkolz | ActionScript 1 | 12 | 02-12-2005 19:05 |
| mehrdimensionales Array | the crunch | ActionScript 1 | 7 | 28-10-2005 09:09 |
| mehrdimensionales array | astaroth | PHP und MySQL | 4 | 21-03-2005 07:45 |
| mehrdimensionales Array | axeff | ActionScript 1 | 6 | 14-05-2004 12:50 |