Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-09-2005, 19:32   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2005
Beiträge: 75
Der Sinn von _root.

Hi,
ich bin ein ganz grosser Anfänger von AS 2.0.So habe mir ein buch geholt und habe soweit auch aus dem ersten kapitel verstehen können.Es ging um viele dinge die AS 2.0 beeinhalten und auch einige Übungen.Konnte soweit erstmal alles nachvollziehen aus der Sinn des "_root.".Ich verstehe den Aufbau aber verstehe nicht wann ich ihn anwenden muss.Also wenn ich einfach so drauf los programmieren würde würde ich nicht wissen wann ich nun mal was mit "_root." machen müsste.Wer würde so nett sein und mir das erklären??
Paraneuros ist offline   Mit Zitat antworten
Alt 19-09-2005, 19:38   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
_root = Wurzel, das ist der Punkt von dem alles ausgeht.
Hauptbühne = _root.
Legt man auf die Hauptbühne einen Mc mit den namen Peter und in diesem mc Peter währe eine Variable mit dem Namen freundin, dann würde man Peter's Freundin so abfragen:
PHP-Code:
trace_root.peter.freundin ); 
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 19-09-2005, 19:52   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2005
Beiträge: 75
ja das habe ich auch verstanden das man sich das so vorstellen muss aber durch deinen beitrag verstehe ich das nun mehr!also geht es draum wenn man in einem MC wo wa drin ist was abfragen will..praktisch tiefer in den MC "einsehen","eingreifen" möchte??

Also du hast mir heute schon zum 2ten mal geholfen..hehe danke

Geändert von Paraneuros (19-09-2005 um 19:54 Uhr)
Paraneuros ist offline   Mit Zitat antworten
Alt 19-09-2005, 19:55   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Ja du musst dir das immer vorstellen, als würdest du von der _root ( Hauptbühne ) aus in den mc tiefer gehen ( wie so eine art Pfad zu den Objekt was du ansprechen willst ).
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 19-09-2005, 20:01   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2005
Beiträge: 75
aber man macht das aber auch nur wenn man auf Peters freundin drauf zugreifen will??Na ob das der Peter überhaupt will oder zulässt ??ah du bist ja auch ein "Ossi" war ja klar das du mir hilfst...Komme aus Bitterfeld ist ja net weit weg von Halle..hehe..aber wohne nun im Ruhrgebiet..so das dazu..danke nochmal
Paraneuros ist offline   Mit Zitat antworten
Alt 19-09-2005, 20:04   #6 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Haha, ist das dein Ernst?

Ich glaube eine neue Generation an Flashern kommt heran!

Vor nicht allzulanger Zeit war _root, der große Fluch in Flash, viele Fragen hier im Forum liefen darauf hinaus, dass einmal wieder _root verwendet wurde, und der Film dann in einen anderen geladen wurde, und sich somit der Scope von _root verschob.

Und nun kommst du, und fragst was das ist? Genial, sei froh!

Inhaltlich stimme ich redner[i] vollkommen zu, _root ist einer der einzigen festen Punkte, von denen aus du deine Pfade aufbauen kannst. Allerdings ist "fest" eben nur gegeben, solange der Film nicht in einen anderen geladen wird (auch das kann man mit _lockroot umgehen, ist aber sicher nicht die elegante Lösung).

Solange es geht, sollte man mit Referenzen und relativen Pfaden arbeiten, und damit kommt man meistens bis zum Ziel.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 19-09-2005, 20:09   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2005
Beiträge: 75
ok stehe ja auch erst am Anfang..denke das wird alles seine Zeit brauchen..danke
Paraneuros ist offline   Mit Zitat antworten
Alt 19-09-2005, 20:34   #8 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
der sinn von _root wird erst klar, wenn man swf's dazu läd:

1. variante
das haupt.swf liegt auf _level0. hier ist _root == _level0.
ein sub.swf alleine getestet liegt auch auf _level0.
wird dieses swf aber in haupt.swf geladen, z.b. mit
loadMovieNum('sub.swf',13);
dann befindet sich dies jetzt auf _level13. innerhalb sub.swf ist _root == _level13

innerhalb eines swf's ist _root immer _root. wenn man mehrere swf's auf mehrere _levels gehoben hat und die untereinander daten austauschen sollen, dann muss man _levelX angeben (X stellvertretend für die jeweilige nr, sollte eigentlich klar sein).

2. variante
sub.swf hat z.b. ein/e mc/variable: _root.bbb (== this.bbb)
wird das swf in ein mc in einem anderen swf geladen:
_root.xxx_mc.loadMovie('sub.swf');
dann liegt dies jetzt auf _root.xxx.bbb
um das zu vermeiden gibt es ab flash7 den befehl:
_mc._lockroot = true;
damit innerhalb eines swf's _root _root bleibt.

oder man muss zur pfadangabe immer die relative adressierung mit this und _parent benützen. sonst kann man swf's, die man zusammen bauen möchte, nicht einzeln testen/benutzen bzw. umgekehrt, swf's die eigentlich alleine laufen sollten nicht in andere einbinden.

-------
daran erkennt man auch, das ich noch eine generation hinter Janoscharlipp liege (mindestens ;-) weil ich viel lieber mit _root und loadMovieNum arbeite, als mit this._parent._parent._parent.xxx.aaa
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (19-09-2005 um 20:39 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 19-09-2005, 21:06   #9 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
Für gewöhnlich reicht es zu sagen, dass _root auf den obersten MovieClip der aktuellen Datei zeigt. Alles andere ist innerhalb dieses MovieClips angelegt (oder ein paar ebenen tiefer).

Lädst du mehrere swf's so kommt es unter bestimmten Umständen dazu, dass _root nicht mehr auf den obersten MovieClip innerhalb der aktuellen Datei zeigt, sondern z.B. auf die auf der obersten Ebene (also die swf, die alle anderen hineinlädt). Damit solltest du dich aber zumindest am Anfang noch nicht beschäftigen, für Anfängerzwecke reicht es auf einer swf-Ebene zu bleiben
pokepika 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 02:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele