Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-01-2004, 10:16   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Wien - A
Beiträge: 2
_root - Basic

Hallo Flash Community,

ich versuche gerade aus dem Buch "ActionScript für Flash MX-Deutsch" zu lernen ("die Bibel") und bin gerade bei Seite 55.

Da werden die Eigenschaften _root und _parent beschrieben aber irgendwie kriege ich das nicht so richtig in den Kopf?
Ich möchte mich mal nur auf _root konzentrieren.

Ich habe das Bsp. gemacht ... also auf der Hauptzeiteiste habe ich eine Instanz 'quadrat' und Instanz 'kreis'.

Instanz 'quadrat': hat var x;
Instanz 'kreis': hat var y;

Von der Hauptzeitleiste kann ich nun den Wert der Variablen x in Instanz 'quadrat' ändern. _root.quadrat.x = 23;

Ich kann auch über der Hauptzeitleiste in Instanz 'kreis' eine neue Variable anlegen z.b:
_root.kreis.z="Neuer Wert von Hauptzeitleiste angelegt";

Frage1)Wenn ich mich in 'quadrat' oder 'kreis' befinde, wie kann ich eine Variable in der Hauptzeitleiste anlegen oder vielleich eine bestehen Varibale ändern?

... im Buch steht z.b. _root.hauptZ //Greife auf Variable hauptZauf der Hauptzeitleiste zu

Mein Versuch:
ich befinde mich in 'quadrat' und will eine Variable hauptZ in _root erzeugen und ihm einen Wert zuweisen und ausgeben:

_root.hauptZ ="neuer Wert von Instanz quadrat aus erzeugt";

Nun gehe ich auf die Hauptzeiteiste und tippe ein:
trace(hauptZ); //undefined
trace(_root.hauptZ); //undefined

Da sollte doch der der String "neuer Wert von Instanz quadrat aus erzeugt" erscheinen oder???

Frage 2)Wenn ich mich in der Instanz 'kreis' befinde, wie kann ich auf die Instanz 'quadrat' zugreifen und vorhande Variable ändern oder neue erstellen?

Leider kann man den Buch keine Fragen stellen!
Hoffe ihr könnt mir helfen.

mit Dank im voraus, Lysan
Lysan ist offline   Mit Zitat antworten
Alt 31-01-2004, 10:28   #2 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
was meinst du damit?
"Nun gehe ich auf die Hauptzeiteiste und tippe ein:"

ich würde sagen dass ist bei dir einfach ein timing problem
der code im root wird einfach früher ausgewertet als der code in den movieclips die in dem selbigen liegen.
teste doch einfach mal so:
nen button im root erstellen und darauf
ActionScript:
  1. on(release){
  2. trace(_root._root.hauptZ)
  3. }
nachdem du den film startest wird deine variable gesetzt
und nun kannste per button druck diese variable ausgeben.
und ich sag dir sie wird vorhanden sein!

zudem kannste dir einfach mal alle objekte und variablen ausgeben lassen die sich in deiner swf befinden.
dazu testest du den film(Strg+enter) und wenn der film abläuft drückste mal

strg+alt+v

dann öffnet sich das ausgabe fenster und zeigt dir alle variablen mit pfad an. da sollte auch deine variable stehen

vom kreis(der im root liegt) kommst zum quadrat(welches auch im roto liegt)
entweder per absoluten pfad-dieser funktioniert von jeder stelle des films- per _root.quadrat
oder du benutzt mal nen relative pfad

dazu verwendest du _parent
parent verweist auf das objekt welches den momentanen film enthält.
auf deutsch: quadrat liegt im root, also enthält root das quadrat
ein _parent im quadrat verweist also auf den root.
von da aus kannste dich nun zu deinem kreis bewegen

_parent.kreis wäre der damit pfad vom quadrat zum kreis

soviel mal dazu
grüße
deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 31-01-2004, 18:19   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Ort: Wien - A
Beiträge: 2
Danke Deluxe,

Habe das mit dem Button gemacht und festgestellt dass die Hauptzeitleiste immer zuerst ausgeführt-deshalb hatte ich immer ein undefined.

Habe auch versucht von Instanz kreis aus eine neue Variable in Instanz quadrat zu erzeugen bzw. vorhanden zu ändern mit dem _parent.quadrat -->hat auch funktioniert.

Nochmal Danke für die schnelle Antwort.

Gruss, Lysan
Lysan 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 01:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele