Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-05-2005, 10:20   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2001
Ort: Bayern
Beiträge: 28
Angry Array Field Undefined (2 dimension Array) Help!

Hi Leute,

bitte nicht schlagen Aber ich habe die Beispiele die ich gefunden
Habe probiert, und irgendwas scheint bei mir schief zu laufen.


Normalerweise habe ich es so verstanden, das man einen Array so declariert:

myArray = new Array();

dann will ich ihn initialisieren:

myArray[0][0] = "name1";
myArray[0][1] = "ID1";
myArray[1][0] = "name2";
myArray[1][1] = "ID2";

usw.
das geht schonmal nicht habe es aber in etlichen Posts gesehen, bei mir ist dann im Debugfenster das Array im MC leer.

Habe dann folgendes mir völlig fremdes vorgehen getestet:

myArray[0] = ["name1","ID1"]
myArray[1] = ["name2","ID2"]

wow *Confused
kann das jetzt sogar mit:

trace(myArray[0][1]);
|_> "ID1"

Ansprechen und der Array hat sich gefüllt!

Jetzt habe ich ein Problem, nun möchte ich bei ID1 den namen ändern,
habe gedacht gut villeicht funzt es ja jetzt...

myArray[0][0] = "anderername";

Doch Pustekuchen, ich cheks nich wäre Super wenn ihr mir auf die Sprünge helft. In der Flashhilfe steht auch wiedermal alles über 1 dimension Arrays aber nur Müll bei 2 dim.

Danke im Vorraus!!!






Habe folgenden Code Snippet:
ActionScript:
  1. onClipEvent (load) {
  2.     slotArray = new Array();
  3.     for (i=1; i<=40; i++) {
  4.         slotArray[i] = [_root["ziel"+i]._name, _root["ziel"+i]._x,  _root["ziel"+i]._y,"leer"];
  5.     }
  6.     slotArray[0][3] = "voll"; // geht voll in die Hose
  7.     trace(slotArray[0][3]); // Undefined
  8. }
  9.  
  10. // Juhu Array ist gefüllt, aber wie Setze ich jetzt nen Wert?
  11.  
  12.  
  13. //Würde es aber viel liebr so machen:
  14.  
  15.  
  16.  
  17. onClipEvent (load) {
  18.     slotArray = new Array();
  19.     for (i=1; i<=40; i++) {
  20.         slotArray[i][0] = _root["ziel"+i]._name;
  21.         slotArray[i][1] = _root["ziel"+i]._x;
  22.         slotArray[i][2] = _root["ziel"+i]._y;
  23.         slotArray[i][3] = "leer";
  24.     }
  25.  
  26.     slotArray[1][3] = "voll";
  27.     trace(slotArray[1][3]); // <-- Undefined aber WHY???
  28.  
  29.  
  30. }
  31.  
  32. //hier geht garnix Array komplett Leer... Und abfrage logisch auch undefined
  33. // Wirft aber auch keinen Fehler des Flash.
  34.  
__________________
Ohne dieses Forum läg ich schon in der Klapse...

Ohzapft is

Geändert von MultiMaster (06-05-2005 um 11:48 Uhr)
MultiMaster ist offline   Mit Zitat antworten
Alt 06-05-2005, 12:17   #2 (permalink)
Gabber-Freak
 
Registriert seit: Mar 2003
Ort: Sörup / Flensburg
Beiträge: 110
Hi, soweit ich weis, musst du ein 2. Array in das erste speichern lassen, da bin ich mir aber nicht sicher..
aber warum machst du das in der Schleife mit i=1 ? dann ist ja der erste Inhalt im Array leer...!?

Edit:
huch, das geht doch auch anders, aber du musst erst das 2. Array neu erstellen...

ActionScript:
  1. slotArray = new Array();
  2. for (i=0; i<=40; i++) {
  3.     slotArray[i] = new Array();
  4.     slotArray[i][0] = _root["ziel"+i]._name;
  5.     slotArray[i][1] = _root["ziel"+i]._x;
  6.     slotArray[i][2] = _root["ziel"+i]._y;
  7.     slotArray[i][3] = "leer";
  8. }
  9. slotArray[1][3] = "voll";
  10. trace(slotArray[1][3]);
__________________
dies ist der anfang vom rest deines lebens

Geändert von merlinvs (06-05-2005 um 12:20 Uhr)
merlinvs ist offline   Mit Zitat antworten
Alt 06-05-2005, 12:28   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2001
Ort: Bayern
Beiträge: 28
Thumbs up

Zitat:
Zitat von merlinvs
Hi, soweit ich weis, musst du ein 2. Array in das erste speichern lassen, da bin ich mir aber nicht sicher..
aber warum machst du das in der Schleife mit i=1 ? dann ist ja der erste Inhalt im Array leer...!?

Edit:
huch, das geht doch auch anders, aber du musst erst das 2. Array neu erstellen...

ActionScript:
  1. slotArray = new Array();
  2. for (i=0; i<=40; i++) {
  3.     slotArray[i] = new Array();
  4.     slotArray[i][0] = _root["ziel"+i]._name;
  5.     slotArray[i][1] = _root["ziel"+i]._x;
  6.     slotArray[i][2] = _root["ziel"+i]._y;
  7.     slotArray[i][3] = "leer";
  8. }
  9. slotArray[1][3] = "voll";
  10. trace(slotArray[1][3]);

Ja Sauber! Danke kk ja hest recht mit Anfangswert 0/1 schönheitsfehler Meinerseitz!

Das man dem Array dann immer nochmal new Array geben muss wusste ich nicht, Danke für Deine HILFE!
__________________
Ohne dieses Forum läg ich schon in der Klapse...

Ohzapft is
MultiMaster ist offline   Mit Zitat antworten
Alt 06-05-2005, 12:29   #4 (permalink)
Gabber-Freak
 
Registriert seit: Mar 2003
Ort: Sörup / Flensburg
Beiträge: 110
kein Problem - ist schön, auch mal helfen zu können...
__________________
dies ist der anfang vom rest deines lebens
merlinvs ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele