Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-01-2006, 13:39   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Lausanne
Beiträge: 133
String in Variable, selber zur Variable machen...?

Hallo flasher

Ich erstelle in einer Schlaufe buttons & mc's, und wenn ich dann über den button rolle, sollte es den mc verschieben... das heisst ich muss auf den button den entsprechenden code legen (siehe unten). Nur irgendwie habe ich das Problem, dass die Variable, die den Namen des MCs enthaltet ein String ist, und offensichtlich nicht sein dürfte oder so....
Denn ich habe verschiedene Tests durchgeführt:
-hi ist dasselbe wie this.z ist dasselbe wie mc_name, das bei jeder Schlaufe den entsprechenden Namen des MCs enthält.
-bla ist einfach mal ein beispiel für einen mc.


PHP-Code:
this[name_menu].mc_name;
this[name_menu].onRollOver = function() {

        
///mc_name ist jenachdem mc_menu1, mc_menu2, mc_menu3.....

        
hi this.z;
        
bla mc_menu1;
// sollte mc verschieben
        
_root.z._y 300;

//TESTS
        
trace (_root.hi);
        
trace ("z = " this.z._y);
        
        if (
this[bla] == hi){
            
trace (true);
        }else{
            
trace (false);
        }
    } 
Die Ausgabe die ich bekomme, wenn ich über den ersten button fahre ist:
Zitat:
mc_menu1
z = 100
false
--> es gibt mir false aus, obwohl bla & hi, dasselbe beinhalten.


und wenn ich trace ("z = " + this.z._y); mit trace ("z = " + bla._y); ersetze spukts mir die richtige y-position aus....

also, meine frage wäre somit: wie kann ich diesen string zur variablentüchtigkeit umwandeln?!

vielen dank für jeden tipp
DonMiguel el único
__________________
nevermind - just drink cuba libre

Geändert von don_miguel (31-01-2006 um 13:41 Uhr)
don_miguel ist offline   Mit Zitat antworten
Alt 31-01-2006, 13:57   #2 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Na, das nenn ich mal unschön gecodet!
Lass mal die Definition deiner beiden Variabeln sehen, dann gibts auch ne Erklärung!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:02   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Lausanne
Beiträge: 133
na, hab ich doch erklärt. alles geht von mc_menu aus, das entweder mc_menu1, mc_menu2 etc... ausgeht...
die restlichen variablen dienen eigentlich nur tests.. so ging ich auf die Suche nach dem Fehlerursprung

was ist dir denn noch unklar?
__________________
nevermind - just drink cuba libre
don_miguel ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:06   #4 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Naja... ein bisschen mehr Daten wären schon hilfreich!

Was ist mc_name? Ein String? Eine Referenz?
Gibt es weitere MC's in this[name_menu]?
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:06   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Kapiere ich auch nicht ganz. Oder meinste du das so:
PHP-Code:
trace(this[this.z])
//
trace(eval(this.z)) 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:06   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Lausanne
Beiträge: 133
jetzt habe ich gerade bemerkt, dass wenn ich
trace ("bla = " + bla); mache
spukts
z = _level0.mc_menu1
aus.


heisst, das soviel, wie es ist ein level-problem?! die variable z ist ja in einem mc..

mc_name ist ein string, eben
und im this[name_menu] gibts kein mc, der mc liegt auf _root, sowie this[name_menu] (ist eben der button)
__________________
nevermind - just drink cuba libre

Geändert von don_miguel (31-01-2006 um 14:08 Uhr)
don_miguel ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:11   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Lausanne
Beiträge: 133
PHP-Code:
trace(eval(this.z)) 
ergibt mir: _level0.mc_menu1

ist es doch kein level-problem..

wenn ich jetzt die tests habe:

PHP-Code:
trace ("bla = " bla);
        
trace(eval(this.z));
        
        if (
bla == this.z){
            
trace (true);
        }else{
            
trace (false);
        } 
spukts mir aus, wenn ich über button 1 fahre , spukts mir aus:

bla = _level0.mc_menu1
_level0.mc_menu1
false


wieso false?? sind doch gleich, sieht man in den ersten 2 trace()
__________________
nevermind - just drink cuba libre

Geändert von don_miguel (31-01-2006 um 14:17 Uhr)
don_miguel ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:16   #8 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Sorry - ich kapiers noch immer nicht ganz!?
Für was genau brauchst du denn das?
Wenn du ne Referenz auf sich selber willst, machs doch so:
PHP-Code:
this[name_menu].this
fertig!?
Allerdings weiss ich nicht, wieso du ne Referenz auf sich selber brauchst?
PHP-Code:
bla mc_menu1
hier definierst du bla als Referenz auf mc_menu1... hi (also this.z) ist aber bei deiner Definition ein String (wie du gesagt hast). Dann ist logisch, dass der Vergleich von this.bla und hi nicht das selbe sein kann! Ein String ist nun mal kein MC!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:17   #9 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
PHP-Code:
var mc_string="mc"
var bt_string="bt"
this[bt_string].mc=this[mc_string]
this[bt_string].onRollOver=function()
{
    
this.mc._y +=100

warrantmaster ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:23   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Lausanne
Beiträge: 133
this[name_menu].z = mc_name;

das ist so ein kleiner trick, damit überall der richtige, mc_name hinterlegt wird, da es in einer Schlaufe ist. (hab ich von dir abgeschaut, gestern )

und, dass es ein string ist und kein mc, scheint ja eben das Problem zu sein, also will ich doch, dieser String zur Referenz zum mc mit eben diesem Namen wird... das war ja meine Frage..


@warrantmaster: button und mc sind eben beide auf _root.-Ebene, aber die Variable z (welche notabene den Namen vom mc enthält) ist im button
__________________
nevermind - just drink cuba libre

Geändert von don_miguel (31-01-2006 um 14:25 Uhr)
don_miguel ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:26   #11 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
hmmmm...
versteh ich zwar immer noch nicht ganz warum (nicht schlagen, vielleicht kleines, praktisches Beispiel!? ^^)

Als Referenz kannst du auch this verwenden!
Oder ansonsten bei richtigem Pfad sollte auch _root.pfad.zum.MC[this.z] funktionieren! Egal ob z ein String ist oder was auch immer!?

EDIT: gerade dein edit gelesen! Das war was, was ich brauchen konnte!
PHP-Code:
this[name_menu].mc_name;
this[name_menu].onRelease = function() {
this._parent[this.z].tuwasauchimmer;

Das dürfte dann in etwa das sein, was du gesucht hast!
__________________
There is no way to happiness, happiness is the way! - Buddha

Geändert von bamboocha (31-01-2006 um 14:28 Uhr)
bamboocha ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:31   #12 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Lausanne
Beiträge: 133
Zitat:
Zitat von bamboocha
hmmmm...
Oder ansonsten bei richtigem Pfad sollte auch _root.pfad.zum.MC[this.z]


Ha! mit eben diesen Worten hast du mir zu meinem unendlichem Erfreuen geholfen!!

so siehts jetzt aus
_root[this.z]._y = 300;
und es funktioniert... so, wiedermal der syntax, der nicht ganz klar war

danke Dir für deine Geduld!!
Gruss nach Biel
__________________
nevermind - just drink cuba libre
don_miguel ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:33   #13 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Kein Problem! Immer gerne! Einfach das nächste Mal von Anfang an kleine Beispiel mitgeben, was du genau machen willst!

Danke und Gruss zurück (aus Bern --> Arbeit)
Und du? Von Bern nach Lausanne gezügelt?
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:41   #14 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Ort: Lausanne
Beiträge: 133
Zitat:
Zitat von bamboocha
Und du? Von Bern nach Lausanne gezügelt?
ja genau, hab ich auch erst vorhin bemerkt, dass da noch bern stand
__________________
nevermind - just drink cuba libre
don_miguel 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 08:44 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele