Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-10-2006, 14:48   #1 (permalink)
Hmpf
 
Registriert seit: Apr 2006
Beiträge: 54
for ... in und Werterückgabe an Variable

Hallo zusammen

Ich habe folgendes Problem:
Im unteren Code versuche ich, die Inhalte der Variablen, deren Namen im Array "arrAva" stehen, durch die switch case Schleife zu jagen und je nach dem deren Value zu ändern. Mit eval() konnte ich auf den Wert zugreifen, aber wie überschreibe ich diesen nun wieder? arrAva[arrAvaValue] = 1; verursacht leider nichts. Ich nehme also an, dass er da nur versucht den Inhalt des Arrays zu verändern oder sonst etwas anstellt. Könnt ihr mir da helfen?

Danke und Gruss

Code:
// set array with avater var names
arrAva = new Array("avaNum", "avaNumNext", "avaNumPrevious");

for(arrAvaValue in arrAva)
	{
		switch(eval(arrAva[arrAvaValue]))
		{
			case(_root.avaCount + 1):
				arrAva[arrAvaValue] = 1;
			break;
			
			case(0):
				arrAva[arrAvaValue] = _root.avaCount;
			break;
		}
	}
Mendragol ist offline   Mit Zitat antworten
Alt 31-10-2006, 15:13   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
kommt mir alles recht merkwürdig vor, was willst du damit eigentlich erreichen?
Code:
arrAva = {avaNum:0, avaNumNext:"hallo", avaNumPrevious:13};
//
trace(arrAva.avaNumNext);
arrAva.avaNum=77;
for (i in arrAva) {
	trace(i+": "+arrAva[i]);
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 31-10-2006, 15:39   #3 (permalink)
Hmpf
 
Registriert seit: Apr 2006
Beiträge: 54
Es soll eine Blätterfunktion für eine Avater-Auswahl sein, wobei der aktuelle Avater in der Mitte und der letzte und nächste daneben angezeigt werden sollen. Mit Buttons kann man wechseln, wodurch die Werte ("avaNum", "avaNumNext", "avaNumPrevious") jeweils angepasst werden müssen. Damit es dabei keine Avater-Zahlen gibt, die gar nicht existieren (z.B. 0 oder 5), möchte ich diese Prüfung einbauen. Damit ich nicht für jede dieser Variablen eine eigene Switch case machen muss, wollte ich das mit einer for in lösen.

Ich wandle es mal zu einem simpleren Beispiel um:

Code:
// max. count
avaCount = 4;

// set default avater numbers
avaNum = 1;
avaNumNext = avaNum + 1;
avaNumPrevious = avaCount;

switch(avaNum)
	{
		case(_root.avaCount + 1):
			_root.avaNum = 1; // Verweis 1
		break;
		
		case(0):
			_root.avaNum = _root.avaCount;
		break;
	}
Das Problem ist jedoch, dass ich nicht weiss wie ich den neuen Wert der ursprünglichen Variable zuweise, siehe Verweis 1.
Mendragol ist offline   Mit Zitat antworten
Alt 31-10-2006, 15:47   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Eigentlich verstehe ich auch nur Bahnhof. Wieso switch / case? Was soll das alles?

Ansonsten halt:
PHP-Code:
this[arrAva[arrAvaValue]] = 1
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 31-10-2006, 15:54   #5 (permalink)
Hmpf
 
Registriert seit: Apr 2006
Beiträge: 54
Ah, this[arrAva[arrAvaValue]] hat geklappt, besten Dank!

Das Ganze ist weil ich abfragen muss welche Aktion nun gefragt ist. Das ist abhängig vom jeweiligen Wert der Zahl (avaNum).

Ist die Zahl 0, dann muss ich xy machen. Ist die Zahl aber 5, dann muss ich yz machen.
Mendragol 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 07:59 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele