Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-10-2004, 16:41   #1 (permalink)
walnut
 
Benutzerbild von Milon
 
Registriert seit: Feb 2003
Ort: planet nuts
Beiträge: 472
mal ne Verständnisfrage zu _root

Hallo,

Wenn ich eine SWF in einen Container lade, ist dann der Container die _root aus der Sicht der geladenen SWF oder ist _root dann die HLZ des Containers?

Ja, hab schon gesucht, aber geht nicht so eindeutig hervor aus den Threads.

Hab einen Preloader für externe SWFs, der in der SWF liegt (nicht im Container) und per _root.getBytesLoaded() den Ladezustand abruft.

funktioniert, aber eigentlich dürfte es nicht (mal was anderes
Ich müsste doch _parent.getBytesLoaded() sagen oder?

Auch wenns funzt, würde es gerne auch verstehen.

Danke.
__________________
speednuts interactive

Geändert von Milon (28-10-2004 um 16:42 Uhr)
Milon ist offline   Mit Zitat antworten
Alt 28-10-2004, 16:57   #2 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
_root == _level0


wenn du film2 erstellst und alleine testest ist _root er selber(seine zeitleiste). lädst du nun aber film 2 in film 1 rein ist _root (auch aus film2 heraus) die zeitleiste von film 1.

also quasi immer der hauptfilm.
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:00   #3 (permalink)
walnut
 
Benutzerbild von Milon
 
Registriert seit: Feb 2003
Ort: planet nuts
Beiträge: 472
hmm, warum funzt mein Preloader dann trotzdem?

klick auf das kleine Quadrat

da steht nämlich _root.getBytesLoaded(), und die sind ja schon längst geladen (die Hauptzeitleiste des Containers, richtig?).
Der zu ladende MC ist 1.5MB groß und es dauert auch schön lange bis der Balken voll ist.
__________________
speednuts interactive
Milon ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:00   #4 (permalink)
Neuer Benutzer
 
Benutzerbild von webxvideo
 
Registriert seit: Nov 2003
Ort: berlin
Beiträge: 883
Man kann jedoch mit _lockroot bei per loadMovie nachgeladenen swf's den Zugriff auf den Hauptfilm unterbinden.
In diesem Fall ist die oberste Zeitleiste des nachgeladenen Film _root.
webxvideo ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:05   #5 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
Zitat:
Zitat von maddin79
_root == _level0
aber nicht wenn man in level lädt
michael ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:06   #6 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
webxvideo: du hast natürlich recht. dies geht allerdings erst ab flash player 7 und außerdem muß man ja erstmal grundsätzlich verstehen wies funktioniert, hatte auch erst überlegt es zu nennen aber ich glaube das es am anfang zu sehr verwirrt :-)

Milon: poste doch mal den kopletten code, weiß sonst auch nich worans liegne könnte, hört sich aller dings komisch an
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:09   #7 (permalink)
walnut
 
Benutzerbild von Milon
 
Registriert seit: Feb 2003
Ort: planet nuts
Beiträge: 472
ähem......wenn ich die Herrn Pro's mal unterbrechen darf,
was ist mit meiner Frage?

Preloader der externen SWF funzt trotzdem obwohl ich _root statt _parent benutze.

Tenor war bis jetzt daß _root auf die HLZ des Containers referenziert.
Der ist aber schon längst geladen, da gibts nixmehr zu preloaden.
Aber Preloader geht trotzdem.
Frage: Warum?
__________________
speednuts interactive

Geändert von Milon (28-10-2004 um 17:11 Uhr)
Milon ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:13   #8 (permalink)
walnut
 
Benutzerbild von Milon
 
Registriert seit: Feb 2003
Ort: planet nuts
Beiträge: 472
Opsele, hab die Frage garnicht gesehen.

Einmal Ghost Code zum mitnehmen:

Code:
onClipEvent (load) {
	OldWidth = this._width;
	this._width = 0;
}

onClipEvent (enterFrame) {
	
	diff = (Math.round(((_root.getBytesLoaded())/(_root.getBytesTotal()))*OldWidth)) - this._width;
	this._width = Math.ceil(this._width+(diff/8));
			//trace(_root.getBytesLoaded());

	if (this._width == OldWidth) {
		_parent.play();
}

	
}
Dieser Code liegt auf einem MC in Frame 1 der zu ladenden SWF.
Die wiederum wird in einen Container in einer anderen SWF geladen.
Jetzt müsste sich doch nach eurer Aussage _root auf die HLZ des Containers beziehen, die ja schon längst geladen ist. Also Preloader bleibt stumm. Geht aber trotzdem wunderbar, hier:

kleines Quadrat anklicken

*rätsel*
__________________
speednuts interactive

Geändert von Milon (28-10-2004 um 17:16 Uhr)
Milon ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:21   #9 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
Zitat:
Zitat von gutknut
aber nicht wenn man in level lädt
haste mal n beispiel??? ich lade meistens auch nur in container, deshalb hat es sich bei mir auch immer so verhalten. würde aber trotzdem gerne wissen was da los is.

@milon - wie sieht dein loadMovie-befehl aus ?
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø

Geändert von maddin79 (28-10-2004 um 17:22 Uhr)
madflanderz ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:26   #10 (permalink)
walnut
 
Benutzerbild von Milon
 
Registriert seit: Feb 2003
Ort: planet nuts
Beiträge: 472
auf dem Button liegt folgendes:

Code:
on (release) {
	_root.loadMovie("Clip1.swf","_root.Container");
	}
Standard loadMovie. nuttin special.
__________________
speednuts interactive
Milon ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:28   #11 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
@maddin

mach einfach einen film der nichts anderes macht als

ActionScript:
  1. trace ("_root = " + _root);

dann einen zweiten film mit

ActionScript:
  1. loadMovieNum("ersterfilm.swf", 99)

wenn du den testest siehst du _root = _level99

Geändert von michael (28-10-2004 um 17:38 Uhr)
michael ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:31   #12 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Kalifornien
Beiträge: 239
Hier ist eine Komponente, die den Pfad korrigiert:

http://www.flashscript.biz/component...corrector.html

Macromedia approved.
__________________
Es war schon immer etwas teurer, einen guten Flash Film zu machen.
www.flashscript.biz
cancerinform ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:31   #13 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
Zitat:
Zitat von Milon
auf dem Button liegt folgendes:

Code:
on (release) {
	_root.loadMovie("Clip1.swf","_root.Container");
	}
Standard loadMovie. nuttin special.
und da ist auch schon des rätsels lösung, du lädts deinen film nicht in einen container sondern in _root

entweder die globale funktion loadMovie benutzen mit dem zielclip als 2ten parameter:

ActionScript:
  1. loadMovie("Clip1.swf","_root.Container");

oder die movieclipmethode movieclip.loadMovie benutzen:

ActionScript:
  1. _root.Container.loadMovie("Clip1.swf")

beides geht nicht
michael ist offline   Mit Zitat antworten
Alt 28-10-2004, 17:36   #14 (permalink)
walnut
 
Benutzerbild von Milon
 
Registriert seit: Feb 2003
Ort: planet nuts
Beiträge: 472
Lightbulb

aaaahhhh, na da bin ich doch froh, daß ich so einen fähigen Beistand hab hier im FF

Das erklärt auch warum ich zwar in _root lade, die SWF trotzdem an der richtigen Position angezeigt wird (dem Zielcontainer). Oder?
wie auch immer.

danke auch an maddin79.
__________________
speednuts interactive

Geändert von Milon (28-10-2004 um 17:38 Uhr)
Milon 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 19:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele