Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Kein automatisches entladen von SWF in AS3“

D

dreamer81

Guest

Hi there...

...ich bin momentan ziemlich frustriert. Wir lernen kein AS in der Schule aber trotzdem moechte ich mich da hineinarbeiten. Nun ich hab ja die Frage fuer das Menu mit AS2 gestellt. Dasselbe Projekt hab ich versucht auf AS3 zu programmieren und zugleich auch eine andere Art der Navigationssteuerung eingefuegt. Nun mir ist klar dass mein Code mehr nach AS2 aussieht den als AS3 weil ich die Funktion mit den Arrays noch nicht kennengelehrnt hab aber alles mit der Zeit.

Mein Problem mit dem aktuellen Code ist dass ich wenn ich auf einen Menubutton klicke die SWF's ueber die bereits geladenen ueberlagert und die aktuellen garnicht entladed so wie AS2 es macht.

Code:
stop();
import caurina.transitions.*;
import caurina.transitions.properties.*;
DisplayShortcuts.init();

var container:Sprite = new Sprite();
addChild(container);

var homeLoad:Loader = new Loader();
var homeurl:URLRequest = new URLRequest("test.swf");
blankMC.addChild(homeLoad);
homeLoad.load(homeurl);

b1.buttText.buttonText.text = "about";
b2.buttText.buttonText.text = "web";
b3.buttText.buttonText.text = "print";
b4.buttText.buttonText.text = "photo";
b5.buttText.buttonText.text = "contact";

b1.addEventListener(MouseEvent.CLICK, b1_CLICK);
b1.addEventListener(MouseEvent.ROLL_OVER, b1_ROLLOVER);
b1.addEventListener(MouseEvent.ROLL_OUT, b1_ROLLOUT);

function b1_CLICK(e:MouseEvent):void
{
	var loader:Loader = new Loader( );
	loader.load(new URLRequest("test.swf"));
	blankMC.addChild(loader);
}
function b1_ROLLOVER(e:MouseEvent):void
{
	Tweener.addTween(b1, {_frame:5, time:0.5 });
}
function b1_ROLLOUT(e:MouseEvent):void
{
	Tweener.addTween(b1, {_frame:1, time:0.5 });
}

b2.addEventListener(MouseEvent.CLICK, b2_CLICK);
b2.addEventListener(MouseEvent.ROLL_OVER, b2_ROLLOVER);
b2.addEventListener(MouseEvent.ROLL_OUT, b2_ROLLOUT);

function b2_CLICK(e:MouseEvent):void
{
	var loader:Loader = new Loader( );
	loader.load(new URLRequest("test.swf"));
	blankMC.addChild(loader);
}
function b2_ROLLOVER(e:MouseEvent):void
{
	Tweener.addTween(b2, {_frame:5, time:0.5 });
}
function b2_ROLLOUT(e:MouseEvent):void
{
	Tweener.addTween(b2, {_frame:1, time:0.5 });
}

b3.addEventListener(MouseEvent.CLICK, b3_CLICK);
b3.addEventListener(MouseEvent.ROLL_OVER, b3_ROLLOVER);
b3.addEventListener(MouseEvent.ROLL_OUT, b3_ROLLOUT);

function b3_CLICK(e:MouseEvent):void
{
	var loader:Loader = new Loader( );
	loader.load(new URLRequest("test.swf"));
	blankMC.addChild(loader);
}
function b3_ROLLOVER(e:MouseEvent):void
{
	Tweener.addTween(b3, {_frame:5, time:0.5 });
}
function b3_ROLLOUT(e:MouseEvent):void
{
	Tweener.addTween(b3, {_frame:1, time:0.5 });
}

b4.addEventListener(MouseEvent.CLICK, b4_CLICK);
b4.addEventListener(MouseEvent.ROLL_OVER, b4_ROLLOVER);
b4.addEventListener(MouseEvent.ROLL_OUT, b4_ROLLOUT);

function b4_CLICK(e:MouseEvent):void
{
	var loader:Loader = new Loader( );
	loader.load(new URLRequest("test.swf"));
	blankMC.addChild(loader);
}
function b4_ROLLOVER(e:MouseEvent):void
{
	Tweener.addTween(b4, {_frame:5, time:0.5 });
}
function b4_ROLLOUT(e:MouseEvent):void
{
	Tweener.addTween(b4, {_frame:1, time:0.5 });
}

b5.addEventListener(MouseEvent.CLICK, b5_CLICK);
b5.addEventListener(MouseEvent.ROLL_OVER, b5_ROLLOVER);
b5.addEventListener(MouseEvent.ROLL_OUT, b5_ROLLOUT);

function b5_CLICK(e:MouseEvent):void
{
	var loader:Loader = new Loader( );
	loader.load(new URLRequest("test.swf"));
	blankMC.addChild(loader);
}
function b5_ROLLOVER(e:MouseEvent):void
{
	Tweener.addTween(b5, {_frame:5, time:0.5 });
}
function b5_ROLLOUT(e:MouseEvent):void
{
	Tweener.addTween(b5, {_frame:1, time:0.5 });
}

Das ist was ich momentan habe. Im ganzen sind es 5 Buttons mit dynamischem Text den ich per instance ansteuere. Zusaetzlich lade ich bereits den about (hier test.swf genannt) als startmovie ein. Wenn ich nun aber auf den Button klicke bleibt der Movieclip geladen und laedt die neue SWF drueber. Ich hab versucht durch verschiedene Methoden das ganze zu entladen und bin zum Schluss gekommen das Funktionen innerhalb von Funktionen nicht funktioniere lol

Nun, ein entladen des blankMC waere kein Problem mit Hilfe eines schliessen-buttons innerhalb vom mainmovieclip aber ich will nicht erst den Inhalt schliessen und dann einen Button anklicken um den neuen zu oeffnen.

Falls jemand eine Resource angeben koennte wo ich mich schlauer machen kann waere das supa. Google ist ausgereizt und die Hilfe in Flash will mir auch nicht helfen :( vermutlich ist es nur wieder ne klitzekleine Kleinigkeit.

Gruss Roman
 

caro_2008

geflasht

AW: Kein automatisches entladen von SWF in AS3

Moin,
ich bin zwar noch kein Profi in AS3.0.,aber ich glaube, dass Problem ist die Zuweisung bzw. die fehlende Referenz auf den Loader.

var loader bzw. var homeLoad sind nur die Namen von Variablen, aber nicht direkt der Names des Loaders. Es wäre demnach notwendig außerhalb der Funktionen eine Varibale zu definieren, diese dem loader zuzuweisen und dann ein Funktion aufzurufen, die den evntuellen Inhalt entfernt - eventuell mit removeChild();

Vielleicht so:

var MovieLoad:Loader;

function loadNextMovie():void{

if (MovieLoad != null) {
unloadMovieClp();
}

MovieLoad = new Loader();
addChild(MovieLoad);
var MovieName:URLRequest = new URLRequest("test.swf");
MovieLoad.load(MovieName);

function unloadMovieClp():void
{
if (MovieLoad != null){
this.removeChild(MovieLoad);
}
}

}

Funktionsaufruf ...

Ich hoffe, ich kann dir damit helfen.

LG
Caro
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.155
Beiträge
2.581.852
Mitglieder
67.221
Neuestes Mitglied
opaklaus
Oben