| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #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 |
| | |
| | #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:
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 |
| | |
| | #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 |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |