Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-03-2011, 13:01   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2009
Beiträge: 7
Loader-Problem mit laden und entladen von externen swfs

Hallo Forum,

habe folgendes Problem:

meine Szene beinhaltet 3 MC`s. Der eine ist mein Menü, die anderen beiden sind meine Container für die geladenen externen Swf`s. Ich habe 2 verschiedene Container, da ich 2 verschiedene Grössen benötige.
Und jetzt zu meinem Problem:

Meine Szene startet mit dem Intro und ich kann auf den Menüpunkt Home,Fotolabor,Video klicken und alles passt. Kann auch ohne Probleme von Video zu z.B. Fotolabor gehen.
Der Loader wird entladen und die neue Swf wird geladen. Alles so wie es sein sollte.
Geh ich allerdings auf den Punkt Anzeigen geschieht folgendes:
Alter Loader wird entfernt, neue Swf wird geladen, aber nun kann ich auf die anderen Menüpunkte klicken und dort werden die entsprechenden Swf`s nicht mehr geladen. Nur die alte Swf verschwindet.

Hier Codefragment zum Nachvollziehen


Mein Menü
Code:
mainmenu_mc.home.addEventListener(MouseEvent.CLICK, ladeSWF);
mainmenu_mc.fotolabor.addEventListener(MouseEvent.CLICK, ladeSWF);
mainmenu_mc.video.addEventListener(MouseEvent.CLICK, ladeSWF);
mainmenu_mc.anzeigen.addEventListener(MouseEvent.CLICK, ladeAnzeigenSWF);
Meine Szene:
Code:
var swf:MovieClip;
var loader:Loader = new Loader();

var introSWF:URLRequest = new URLRequest("videos/trailer.swf");

loader.load(introSWF);
loader.x = Xpos;
loader.y = Ypos;

pageContainer_mc.addChild(loader);

function ladeSWF(event:MouseEvent):void {
		loader.unloadAndStop();
		pageContainer_mc.removeChild(loader);
		pageContainer_anzeigen_mc.visible = false;
		var newRequest:URLRequest = new URLRequest("videos/" + event.target.name + ".swf");
		loader.load(newRequest);
		loader.x = Xpos;
    	loader.y = Ypos;
		pageContainer_mc.addChild(loader);
}

function ladeAnzeigenSWF(event:MouseEvent) {
		pageContainer_anzeigen_mc.visible = true;
		loader.unloadAndStop();
		pageContainer_mc.removeChild(loader);
		var newRequest:URLRequest = new URLRequest("videos/anzeigen.swf");

		loader.contentLoaderInfo.addEventListener( ProgressEvent.PROGRESS, laden );
		loader.contentLoaderInfo.addEventListener( Event.COMPLETE, fertig );
		
		loader.load(newRequest);
		
		function laden( event:ProgressEvent ):void {
    		var percent:Number = Math.round( event.currentTarget.bytesLoaded * 100 / event.currentTarget.bytesTotal );
		}

		function fertig( event:Event ):void {
    
   			//loader.contentLoaderInfo.removeEventListener( ProgressEvent.PROGRESS, laden );
    		//loader.contentLoaderInfo.removeEventListener( Event.COMPLETE, fertig );
    
    		loader.x = 0;
    		loader.y = 0;
		}  
		
		pageContainer_anzeigen_mc.addChild(loader);
}

Hoffe es ist verständlich und mir kann geholfen werden. Vielen Dank schonmal im voraus

Hier die Fehlermeldung:

ArgumentError: Error #2025: Das angegebene DisplayObject muss ein untergeordnetes Element des Aufrufers sein.
at flash.display:isplayObjectContainer/removeChild()
at homepage_v22_fla::Seiten_2/ladeSWF()

Geändert von hoexxxt (03-03-2011 um 13:34 Uhr)
hoexxxt ist offline   Mit Zitat antworten
Alt 03-03-2011, 14:18   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Servus
PHP-Code:
if(pageContainer_mc.numChildren >0){
            
pageContainer_mc.removeChildAt(0);
        } 
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 03-03-2011, 14:24   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2009
Beiträge: 7
hi RustyCake,

danke für deine Antwort

Habe das Problem vor 5 min gelöst, beim durchlesen meines Beitrags hier im Forum ;-)

Bei der Fkt:
Code:
function ladeSWF(event:MouseEvent):void {
		loader.unloadAndStop();
		pageContainer_mc.removeChild(loader);
		pageContainer_anzeigen_mc.visible = false;
		var newRequest:URLRequest = new URLRequest("videos/" + event.target.name + ".swf");
		loader.load(newRequest);
		loader.x = Xpos;
    	loader.y = Ypos;
		pageContainer_mc.addChild(loader);
}
habe ich folgende Zeile auskommentiert
Code:
pageContainer_mc.removeChild(loader);
und jetzt funktioniert es einwandfrei
hoexxxt ist offline   Mit Zitat antworten
Alt 03-03-2011, 15:11   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Entladen kannst Du in ja, aber nur wenn was drinne ist, das kannst mit dem Script-Schnippel erreichen.
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
addchild, loader

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Laden und Entladen von SWFs Quasimorrow ActionScript 3 8 23-11-2010 18:55
SWFs laden, entladen Lyn Flash Einsteiger 1 13-08-2007 21:54
Problem abgeleitet MovieClip Klasse - Laden von externen SWFs tricky Softwarearchitektur und Entwurfsmuster 3 06-01-2006 14:42
einen externen mc laden und entladen wenn ein anderer geladen wurde Royal Assassin Flash MX 2004 1 15-03-2004 11:40
externen Film laden und entladen Grafixboy Flash 4 und Flash 5 8 15-03-2004 07:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele