Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-12-2003, 13:54   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Schindellegi (CH)
Beiträge: 16
Array Name zusammensetzen

Hi,
Ich habe folgendes Problem.

Ich habe mehrere Arrays die ich "Pos0", "Pos1", "Pos2", etc. benannt habe.

Die Arrays wende ich später im Script an:

Pos0[0] = 2;
Pos0[1] = 6;
...


Pos1[0] = "right";
Pos1[1] = "false";
...

...



Nun zu meinem Problem. Ich möchte gerne anhand von Variablen auf die Werte diese Arrays zugreifen.

Wenn ich aber diese Variante versuche bleibt Z leer:

i=0;
n=1;
Z=Pos add i[n];
trace ( Z);


Habe auch schon versucht Pos und 0 anhand von Variablen zusammen zu setzten. z.B.:
a="Pos";
b=0;
c=a.concat(b);

In trace wird dann zwar der Wert angezeigt den ich verwenden möchte (Pos0), kann Ihn dann aber nicht anwenden. Mit anderen Worten wenn ich nun trace(c[0]); eingebe erhalte ich nicht die 2.



Kan mir jemand dabei weiterhelfen? Wie ich anhand von 2 Werten auf ein Variable zugreifen kann?



frohe Festtage,
Dominic
kellerd ist offline   Mit Zitat antworten
Alt 24-12-2003, 14:18   #2 (permalink)
Flash-Wüstling
 
Benutzerbild von pheidrias
 
Registriert seit: Dec 2001
Ort: Halle/Saale
Beiträge: 4.300
um einen Variablennamen auf einer Zeitleiste dynamisch anzusprechen, gibt man einfach den Namen der Zeitleiste gefolgt von [, dann den Namen und ] an.

trace(_root["_x"]);

i=0;
n=1;
Z=this["Pos" add i][n];
trace ( Z);

tanti saluti,
pheidrias
__________________
Ehrlich währt am LÄNGSTEN !
pheidrias ist offline   Mit Zitat antworten
Alt 24-12-2003, 15:34   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Schindellegi (CH)
Beiträge: 16
Unhappy Geht nicht

Hi,
Danke für die rasche Antwort.

Leider hatte es aber nichts genützt.

c=Pos1
b=0

trace(_root[_c][b]);


funktionierte leider immernoch nicht.



cu,
Dominic
kellerd ist offline   Mit Zitat antworten
Alt 24-12-2003, 18:47   #4 (permalink)
Flash-Wüstling
 
Benutzerbild von pheidrias
 
Registriert seit: Dec 2001
Ort: Halle/Saale
Beiträge: 4.300
_c ist eine nicht definierte Variable !
c ist dein Variablenname !

Und in deiner Definition weist du c nicht eine Zeichenkette zu, sondern eine andere Variable --> die auch nicht definiert ist --> wieder Mülleimer .

ActionScript:
  1. c="zeichenkette";//c heißt jetzt "zeichenkette"
  2. c=variablenname;//c bekommt den Wert der Variable variablenname
  3.  

ergo :

ActionScript:
  1. c="Pos1";
  2. b=0;
  3.  
  4. trace(_root[c][b]);

tanti saluti,
pheidrias
__________________
Ehrlich währt am LÄNGSTEN !
pheidrias ist offline   Mit Zitat antworten
Alt 25-12-2003, 11:11   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Schindellegi (CH)
Beiträge: 16
+/-

Hi,
Merci für diese Antwort. Ich hatte es bei mir richtig geschrieben. Diese Variante die du mir vorgeschlagen hast funktioniert bei mir auch.

Nun möchte ich ja aber gerne die Variable aus 3 Werte zusammen setzen.

zum Beispiel:
Ich habe dem Array Pos1[0] den Wert "Ski" zugeteilt.

b=0;
c="Pos";
d=1;

trace(_root[c add d][b]);

Dann gibt der Script nicht etwa "Ski" aus sondern alle Werte die mit Pos zu tun hat.

Falls es dir was nützt kann ich dir auch mal die *.fla Datei hochladen.


cu,
Dominic
kellerd ist offline   Mit Zitat antworten
Alt 25-12-2003, 11:29   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Also bei mir geht sowas tadellos:
ActionScript:
  1. var Pos1 = new Array("Ski");
  2. var b = 0;
  3. var c = "Pos";
  4. var d = 1;
  5. trace(_root[c + d][b]); //gibt brav "Ski" aus
  6.  
Muss was anderes sein bei dir...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (25-12-2003 um 11:30 Uhr)
sonar 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 11:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele