| |||||||
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: May 2004
Beiträge: 11
|
Hi zusammen, ich hab folgendes Problem: Über ein Eingabefeld kann ich beliebig viele MC's erzeugen. Diese werden in einem Array hinterlegt. Wenn ich jetzt einzelne MC's über hitTest() wieder lösche, soll auch der entsprechende Eintrag im Array gelöscht werden. Dazu gibt es wohl die Funktion array.splice(), aber so richtig funktioniert das bei mir nicht. Liegt wohl an meine mangelnden Programmierkenntnisse ![]() Wäre nett, wenn mir jemand helfen könnte! Quellcode: Zitat:
Geändert von aoki (22-05-2007 um 03:25 Uhr) | |
| | |
| | #2 (permalink) |
| Webverwickler Registriert seit: May 2005
Beiträge: 327
| soweit vollkommen richtig
was genau funktioiniert denn nicht? wird das element nicht gelöscht, stimmt die Array-Länge danach nicht, passen die Elemente nicht mehr zu den MCs, ... ?
__________________ Gruß Wanst Reden ist Silber, Schweigen ist Gold! ... Meistens |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: May 2004
Beiträge: 11
|
Leider funktioniert die Array.splice() Methode nicht so wie sie es sollte. Wenn ein MovieClip gelöscht wird, sollen auch die entsprechenden Einträge in den Arrays gelöscht werden. Im einen Array ist der Name des MC's und im anderen der Abstand zur Mitte hinterlegt. Wenn z.B. das MC "context_mc2" gelöscht wird, sollen auch die Einträge an zweiter Position im Array gelöscht werden. Das klappt allerdings nur beim ersten Löschen des MC's, danach entweder gar nicht (beim distanz_ary) oder nur teilweise (beim context_ary). Also die Arraylänge stimmt nicht! Gibt es evtl. Probleme mit der splice() Methode? Evtl. andere Lösungen? Oder liegt es vielleicht an meinem Code!? Ich danke schon mal im voraus für Hilfestellungen! Geändert von aoki (23-05-2007 um 12:56 Uhr) |
| | |
| | #4 (permalink) |
| Webverwickler Registriert seit: May 2005
Beiträge: 327
|
Ok, ist vielleicht eine dumme Frage, aber für welche Informationen brauchst du dieses Array, was du nicht auch den MCs selbst als Wert mitgeben könntest? Beispiel: Steck deine "context"-MCs in einen eigenen MC (nicht in _root), dann: PHP-Code:
__________________ Gruß Wanst Reden ist Silber, Schweigen ist Gold! ... Meistens |
| | |
| | #5 (permalink) |
| Spieler Registriert seit: Feb 2003 Ort: Hamburg/Elmshorn
Beiträge: 297
|
meine vermutung: du löscht movieclips, die durchnummeriert sind (z.b. 0-9). dazu greifst du jeweils auf den "index" des mc zu. kann das in etwa sein? splice entfernt nämlich ganze elemente aus dem array, d.h., alles hinter dem gelöschten rückt quasi nach... wenn du 10 mal index 0 löscht, dann ist das array danach leer und hat nach jedem durchgang eine länge weniger, also 9, 8, 7, ... kann hier dein denkfehler liegen?
__________________ MfG, FastEddie Kunde: „Alles prima, wir hätten da aber noch eine Textkorrektur in den Groblayouts. Bitte Lorem ipsum anstatt Lorem Ipsum.“ Geliehen von http://kunden.ausderhoelle.de |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: May 2004
Beiträge: 11
|
Danke für die Antworten ![]() Aber so wirklich helfen sie mir auch nicht weiter. Ich brauche die Arrays, da die MC's später über eine XML-Datei dynamisch von einem Systemframework erstellt und ggf. geänderten Daten (Contextname und die Distanz) wieder zurückgeschickt werden sollen. Es ist gewollt, wenn ein Context-MC gelöscht wird, dass auch das entsprechende Element im Array gelöscht werden soll. Die MC's werden nach dem removeMovieClip() beim Tracen, trace(["context_mc" + l]), immer noch Ausgegeben, also muss die Instanz immer noch existieren, auch wenn sie auf der Bühne nicht mehr sichtbar ist. Das darf natürlich auch nicht sein, aber vielleicht liegt es auch daran!? Geändert von aoki (23-05-2007 um 21:00 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |