Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-12-2007, 14:03   #1 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
Dynamische Switch Anweisung

Mh, da ich das Problem letztens hatte, würd mich mal interessieren, ob es eine dynamische Switch-Anweisung überhaupt gibt? Damit ihr versteht was ich meine:

ActionScript:
  1. var wert:Number = 1;
  2. var anzkategorien:Number = 4;
  3. switch (wert) {
  4.     for (var i:Number = 0; i<anzkategorien; i++) {
  5.         case i : trace(wert + " " + i);
  6.         break;
  7.     }
  8. }

Grüßle
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 18-12-2007, 14:37   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Ich glaube nicht, daß das geht. Was macht Flash denn?
Wird Dir ein Fehler ausgegeben? Außerdem: Wenn Du
es dynamisch machst, wäre »if« wohl einfacher, oder?
PHP-Code:
var wert:Number 1;
var 
anzkategorien:Number 4;

for (var 
i:Number 0i<anzkategorieni++) {
  if( 
wert == ) { trace(wert " " i) }

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 18-12-2007, 18:49   #3 (permalink)
Nagelneuer User
 
Benutzerbild von hazy fantazy
 
Registriert seit: Dec 2005
Beiträge: 924
Nicht direkt, aber du kannst aus den einzelnen cases Funktionen machen und die dann unter ihrem Vergleichswert in einem Objekt speichern. So etwa

PHP-Code:
//der ursprüngliche switch
switch( wert 
{
     case 
"a" trace("echt?"); break;
     case 
"b" trace("na super"); break;
     case 
"c" trace("nee, oder?") break;
}

//das switch Object
//zu jedem Case gibt es eine Funktion
var switchObj = new Object();
switchObj["a"] = function(){ trace("echt?"); };
switchObj["b"] = function(){ trace("na super?"); };
switchObj["c"] = function(){ trace("nee, oder??"); };

//der Aufruf geht dann so
switchObjwert ](); 
Das switchObj kannst du dann dynamisch verändern.
mfg hf
__________________
The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D
hazy fantazy ist offline   Mit Zitat antworten
Alt 18-12-2007, 18:51   #4 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Zitat:
Zitat von McMannus Beitrag anzeigen
Mh, da ich das Problem letztens hatte, würd mich mal interessieren, ob es eine dynamische Switch-Anweisung überhaupt gibt? Damit ihr versteht was ich meine:

ActionScript:
  1. var wert:Number = 1;
  2. var anzkategorien:Number = 4;
  3. switch (wert) {
  4.     for (var i:Number = 0; i<anzkategorien; i++) {
  5.         case i : trace(wert + " " + i);
  6.         break;
  7.     }
  8. }

Grüßle
Einfach nur
ActionScript:
  1. for (var i:Number = 0; i<anzkategorien; i++) {
  2.    trace(wert + " " + i);
  3. }

?!

Bzw kläre mich mal bitte auf was das am Ende werden soll, verstehe den Sinn noch nicht so ganz.

Geändert von sebastian (18-12-2007 um 18:52 Uhr)
sebastian ist offline   Mit Zitat antworten
Alt 18-12-2007, 19:16   #5 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
ja, es gibt keinen Sinn von meiner Lösung, ich war anscheinend nur zu engstirnig, um die banale Lösung zu sehen. Ich meinte, ich müsste mich auf die Switch-Anweisung festnageln ... Danke, dass ihr mir die Augen geöffnet habt
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus 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 05:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele