Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-11-2009, 13:30   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 22
CS3 - Mein Movie Loader macht mit wahnsinng :-)

Hey Leute,

hab mal ne Frage an euch - ich lade ein externes Movie (swf) in das SubMovie new_stage - dieses liegt direkt auf der Haupttimeline. So weit so gut - es funktioniert. Das nachgelade Movie liegt in der new_stage und fährt los.

Aber was mich wahnsinng macht: Ich möchte jetzt mein nachgeladenes Movies steuern - z.B. gotoAndPlay - jede Referenzierung die ich ausprobiert habe funzt nicht - warum ist das so - es macht mich wahnsinng. Der Aufru erfolgt in der function loader_stop

Danke für eure Antworten und hier kommt der Code:

// Loading STAGE ////////////////////////////////////////////////////////////////////////////////////////////

function loading_movie(zuladen, movie_clip, child_name){

import flash.display.*;
import flash.net.URLRequest;
import flash.events.Event;

var url:URLRequest = new URLRequest(movie_clip);
var stage_container:Loader = new Loader();
stage_container.name = child_name;

stage_container.load(url);
new_stage.addChild(stage_container);
new_stage.setChildIndex(stage_container, 1);

stage_container.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, loader_play);
stage_container.contentLoaderInfo.addEventListener (Event.COMPLETE, loader_stop);


function loader_play(evt:ProgressEvent):void {
var total_load:int = evt.bytesTotal * (zuladen / 100);
var load_status:int = evt.bytesLoaded;
var act_status = String(Math.round(load_status * 100 / total_load));
var stand = String(Math.round(loader_container.loader_back.wid th * (act_status / 100)));

loader_container.prozent_status.kbgeladen_txt.text = act_status+"%";
loader_container.loader_status.width = stand;
loader_container.prozent_status.x = stand - 35;

if (load_status >= total_load){
stage_container.removeEventListener(ProgressEvent. PROGRESS, loader_play);
stage_container.removeEventListener(Event.COMPLETE , loader_stop);
loader_container.visible = false;
//MovieClip( evt.target.content ).gotoAndPlay("movie_go");
}
}

function loader_stop(evt:Event):void {
removeEventListener(ProgressEvent.PROGRESS, loader_play);
loader_container.visible = false;
MovieClip( evt.target.content ).gotoAndPlay("movie_go");
//MovieClip( new_stage.main_mov.content ).gotoAndPlay("movie_go");
trace( evt.target.content );
//main_mov.gotoAndPlay("test_label");
}
}

loading_movie('50', 'stage.swf', 'main_mov');
sven.) ist offline   Mit Zitat antworten
Alt 05-11-2009, 08:23   #2 (permalink)
Klugscheisser
 
Registriert seit: Jun 2001
Ort: Düsseldorf
Beiträge: 1.354
Also bei mir macht dein Script genau das, was es soll.
Hat die stage.swf evtl. eine Dokumentenklasse, die gotoAndPlay overrided oder Ähnliches?
T.Decay ist offline   Mit Zitat antworten
Alt 05-11-2009, 09:35   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 22
Soweit so gut funzt es ja auch.

In der Complete function kann ich das Movie mit
MovieClip( evt.target.content ).gotoAndPlay("movie_go"); starten.

Jetzt möchte ich aber ausserhalb - z.B. Auf einem Button das Movie steuern:
z.B. new_stage.main_mov.gotoAndPlay("test_label");

Ich kann aber das Movie über keinen Pfad ansprechen - hab hier schon hunderte Sachen versucht. Wenn ich aus dem nachgeladenen Movie den Pfad auslese, dann stimmt der. Mache ich aber auf der Mainstaige den aufruf, dann geht das nicht? Muss ich hier noch was konvertieren? Oder es umwandeln? Danke für die Antwort.

Das mit der Klasse schliese ich mal aus - ist auch im Moment das einzige auf der Stage.

Geändert von sven.) (05-11-2009 um 09:37 Uhr)
sven.) ist offline   Mit Zitat antworten
Alt 05-11-2009, 13:22   #4 (permalink)
Certified dump
 
Registriert seit: Aug 2001
Beiträge: 969
var mc:* = stage_container.content;
new_stage.addChild(mc);

dann geht's von überall...

mc.play()
rudi66 ist offline   Mit Zitat antworten
Alt 05-11-2009, 14:20   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 22
Zitat:
Zitat von rudi66 Beitrag anzeigen
var mc:* = stage_container.content;
new_stage.addChild(mc);

dann geht's von überall...

mc.play()
Erstmal danke - aber es läuft wieder nur in der Funktion - Ausserhalb geht es nicht :-( new_stage ist übrigens ein vorhandenes Movie auf der Timeline. Muss ich das dynamisch erstellen? Ich bekomme einfach keinen Connect zum Movie - PS: Vielleicht hilft es: Die Funktion ist auf dem ersten Keyframe - der Aufruf zum Loader ist aber irgendwo auf der Timline. Ich raff es nicht mehr.

Der findet dann den MC nicht mehr.
sven.) ist offline   Mit Zitat antworten
Alt 05-11-2009, 14:37   #6 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 22
Nachtrag: mal so dumm in die Tüte - kann das sein das die var mc* eigentlich public var mc* sein sollte und ich dadurch dann darauf zugreifen kann?

Also müsste ich es in ein Package packen und dann reinladen, damit es zu Laufzeit vorhanden ist?

Geändert von sven.) (05-11-2009 um 14:38 Uhr)
sven.) ist offline   Mit Zitat antworten
Alt 05-11-2009, 14:53   #7 (permalink)
Klugscheisser
 
Registriert seit: Jun 2001
Ort: Düsseldorf
Beiträge: 1.354
Keine Ahnung, warum Du meinst, das müsste über "main_mov" ansprechbar sein. Wenn das so sein soll, musst Du das in der COMPLETE Funktion auch erst mal so einrichten:

Code:
var mc:MovieClip = stage_container.content as MovieClip;
mc.name = "main_mov";//Der MC weiß, dass er "main_mov" heißt
new_stage.main_mov = mc;//Der künftige parent verzeichnet den MC unter Eigenschaft .main_mov
new_stage.addChild(mc);//Der MC wird als Kindelement des neuen parents in die Displayliste gesetzt
Danach solltest Du wie zu AS2 Zeiten drauf referenzieren können

Geändert von T.Decay (05-11-2009 um 14:54 Uhr)
T.Decay ist offline   Mit Zitat antworten
Alt 05-11-2009, 15:15   #8 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 22
Ich glaube wir verstehen uns falsch.

Ich möcht nichts anderes als mein Movie irgendwo nach dem Loading anzusprechen. Ob das Ding mc, oder host_main, oder schnickers_in_town heisst. Ich bekomme keinen Connect zu dem Movie.

@T.Decay: Schau dir mal bitte das file an - siehe zip. Wie kann ich auf Frame 23 noch mal das nach geladene Movie ansprechen. Ich habe alles probiert und bekomme nur Fehler. Du bekommst auch ein virtuelles Bier :-)

Danke die. Gs
Angehängte Dateien
Dateityp: zip loader_5_1.zip (8,2 KB, 5x aufgerufen)
sven.) ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
cs3, loader, swf

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
mein loader mag vista nicht ;-) grafgarf ActionScript 3 6 29-04-2008 10:21
Mein Script macht mir Angst... highco ActionScript 1 2 28-04-2006 09:29
mein But macht sich selbstständig SwKy ActionScript 1 2 01-12-2004 09:49
HILFE: Mein Pre-Loader hakt.... Jogi Flash 4 und Flash 5 4 02-04-2003 17:11
Mein Loader? Warum macht der sowas??? das-essig Flash MX 39 10-01-2003 17:02


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele