Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-10-2004, 16:48   #1 (permalink)
Studio B12
 
Registriert seit: May 2004
Ort: 38106 Braunschweig
Beiträge: 6
Question Verständnisfrage zu _root.mc._global.Variable.

Hi,

warum kann ich keine Variablen Namen in meinem Pfad verwenden?

Der Umweg wie er funktioniert:
if (_global.menuOpen == "meldung1") {
_root.newsContainer.meldung1.gotoAndPlay("msgZu");
}

Warum funktioniert nicht:

_root.newsContainer._global.menuOpen.gotoAndPlay(" msgZu");

Was leider auch nicht funzt:

close_mc = _global.menuOpen;

_root.newsContainer.close_mc.gotoAndPlay("msgZu");

Kann mir das jemand erklären?

THX
JuergenP ist offline   Mit Zitat antworten
Alt 22-10-2004, 16:56   #2 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Wiesbaden
Beiträge: 30
also _global damit kannst du globale variablen definieren...
mit _root sprichst du moviclips an :> _root._global. ?! wie soll so was gehen ;P
__________________
_HASTE_is_WASTE_
Twip ist offline   Mit Zitat antworten
Alt 25-10-2004, 07:49   #3 (permalink)
Studio B12
 
Registriert seit: May 2004
Ort: 38106 Braunschweig
Beiträge: 6
Is schon klar was ich womit kann ;-)

Es geht mir ja auch um den Inhalt der var. Denn in einer if (_global.menuOpen == _global.menuOpen) {funtz das ja auch} d.h. Es wird der Wert in der var überprüft. Jou so ist auch mein Verständnis von einer Variablen. Sie wird durch ihren Wert ersetzt. Nur in einen Pfad scheint das nicht zu funktionieren?!
JuergenP ist offline   Mit Zitat antworten
Alt 25-10-2004, 07:58   #4 (permalink)
doofer Nickname...
 
Benutzerbild von Axel Sartorius
 
Registriert seit: Jul 2001
Ort: Dortmund
Beiträge: 2.337
Arrgh- Du musst Deiner Variable nicht dauernd ein _global davor setzen, ein einziges Mal bei der Deklaration reicht!

ActionScript:
  1. //Definiere eine globale Variable:
  2. _global.meineVar = 10;
  3.  
  4. //Greife auf meineVar von jeder beliebigen Zeitleiste zu:
  5. trace (meineVar) // spuckt aus: 10
  6.  

Zitat:
Denn in einer if (_global.menuOpen == _global.menuOpen) {funtz das ja auch} d.h. Es wird der Wert in der var überprüft.
Falsch - in dem Beispiel das Du hier bringst, wird der Wert der Variablen menuOpen mit dem Wert der Variablen menuOpen verglichen - der logischwerweise immer gleich ist...
__________________
Q:What happens if we nuke Great Cthulhu?
A: He reforms 20 Minutes later - but now he's RADIOACTIVE!

Geändert von Axel Sartorius (25-10-2004 um 08:00 Uhr)
Axel Sartorius ist offline   Mit Zitat antworten
Alt 25-10-2004, 08:04   #5 (permalink)
Studio B12
 
Registriert seit: May 2004
Ort: 38106 Braunschweig
Beiträge: 6
ok, ok das ist eine Sache. Aber das hat nix mit meinem eigentlichen Prob zu tun? weil ....
Code:
close_mc = _global.menuOpen;
_root.newsContainer.close_mc.gotoAndPlay("msgZu");
funzt ja auch nicht?!
JuergenP ist offline   Mit Zitat antworten
Alt 25-10-2004, 08:27   #6 (permalink)
doofer Nickname...
 
Benutzerbild von Axel Sartorius
 
Registriert seit: Jul 2001
Ort: Dortmund
Beiträge: 2.337
Ich vermute mal, daß Du noch nicht ganz kapiert hast, was eine Variable eigentlich ist: Sie ist erst einmal nur ein Behälter, in die man verschiedene Datentypen reinpacken kann. Das kann ein String, eine Zahl oder ein boolscher Wert sein. Variablen kann ich für jeden MovieClip (mit anderen Worten: für jede individuelle, im Film enthaltene Zeitleiste) einzeln oder auch _global definieren, d.h. für alle Zeitleisten zugänglich machen. Den Wert einer Variablen kann ich abfragen, neu definieren oder vergleichen.

Aber wie ich anhand Deiner oben geposteten Skriptschnipsel vermute, existiert in Deinem Flashprojekt ein MovieClip namens "close_mc", richtig? Wenn das so ist, dann ist close_mc ein MovieClip-Objekt und keine Variable, der man einen bestimmten Wert zuweisen kann. Du könntest dem MC "close_mc" eine Variable zuweisen, etwa so:
ActionScript:
  1. //Wichtig: Die Pfadangaben zur Variablen, der ein neuer Wert zugewiesen wird
  2. //müssen stimmen!!! Wenn "close_mc" sich innerhalb von "newsContainer"
  3. //befindet und die Zuweisung von der Hauptzeitleiste aus erfolgt, dann sieht
  4. //das ganze so aus:
  5.  
  6. //Weise die globale Variable "menuOpen" der Variable "openmenu" zu, die nur auf
  7. //der Zeitleiste von mc "close_mc" lebt:
  8. newsContainer.close_mc.openmenu = menuOpen;
  9.  
  10. //Und bei der Abfrage wirst Du um das if nicht herummkommen:
  11. if (_root.newsContainer.close_mc.openmenu != undefined){
  12. _root.newsContainer.close_mc.gotoAndPlay("msgZu");
  13. }
__________________
Q:What happens if we nuke Great Cthulhu?
A: He reforms 20 Minutes later - but now he's RADIOACTIVE!
Axel Sartorius ist offline   Mit Zitat antworten
Alt 25-10-2004, 14:08   #7 (permalink)
Studio B12
 
Registriert seit: May 2004
Ort: 38106 Braunschweig
Beiträge: 6
Sorry mein letztes posting hat wohl eher dann doch noch mehr zur verwirrung geführt ... Ich weiß sehr wohl wie und was Variablen sind

ich versuche noch mal kurz schreiben was ich wollte. Ich will den Inhalt meiner Variablen _global.menuOpen als TEIL meines Pfades verwenden

Habs jetzt auch :-)
Code:
_root.newsContainer[_global.menuOpen].gotoAndPlay("msgZu");

bzw.

_root.newsContainer[menuOpen].gotoAndPlay("msgZu");
THX
JuergenP ist offline   Mit Zitat antworten
Alt 25-10-2004, 14:12   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Wiesbaden
Beiträge: 30
ahhhhh jetzt verstehe ich *g

das geht glaubch auch mit "+variable+" zumindest bei strings, weis aber nicht genau....

greeTz
__________________
_HASTE_is_WASTE_
Twip ist offline   Mit Zitat antworten
Alt 24-02-2005, 13:14   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
hallo,
sorry, aber bei mir funktioniert das nicht... *stöpselrum*
wie kann man denn einen mc in einem mc sagen, dass er sich auf z.b. frame 4 bewegen soll?

mein pfad sieht so aus:
_root[_global.nav][_global.sub].gotoAndStop(4);

und so würde das übersetzt aussehen:
_root.navigation1.button3.gotoAndStop(4);

blick es grad überhaupt nicht!
grüsse hans
schmalhans ist offline   Mit Zitat antworten
Alt 24-02-2005, 13:23   #10 (permalink)
Studio B12
 
Registriert seit: May 2004
Ort: 38106 Braunschweig
Beiträge: 6
hi, bist du dir sicher das
_root.navigation1.button3.gotoAndStop wirklich ankommt?

Probier mal eval(_global.nav1)[_global.nav2].gotoandstop(4)

denn ich glaube _root[_global.nav1] funktioniert nicht

gruß
JuergenP ist offline   Mit Zitat antworten
Alt 24-02-2005, 13:44   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
hallo,
ja ->" _root.navigation1.button3.gotoAndStop(4);" gibt es und kommt auch an!

mit eval geht es nur wenn ich es so schreibe:
eval(" _root.navigation1"+_root.sub).gotoAndStop(4);

habe es bisher noch nicht geschafft den pfad dynamischer anzusprechen.
grüsse hans
schmalhans ist offline   Mit Zitat antworten
Alt 24-02-2005, 13:56   #12 (permalink)
Studio B12
 
Registriert seit: May 2004
Ort: 38106 Braunschweig
Beiträge: 6
hmm was hindert dich daran es so zu schreiben
JuergenP 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 14:32 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele