Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-09-2009, 15:45   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 28
Flash in Flash

Hallo zusammen,

ich möchte gerne eine Flashfile erstellen, die nach und nach verschiedene Flash (swf) Files inkludiert/einbindet.

Die firstNode.childNodes sollen dabei einer eingebundenen Flash File entsprechen.

D. h. es werden nach und nach die Flashfiles in den ChildNodes durchlaufen.

In den ChildNodes des roots sind noch zusätzliche Informationen für die eingeladenen Flash Filme.

Wie kann ich das komplette Node inkl. ChildNodes dem zugehörigen Film übergeben?

Wie kann man elegant die Flashfilme einbinden?

VG Tim
melatonin ist offline   Mit Zitat antworten
Alt 21-09-2009, 17:31   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wie kann ich das komplette Node inkl. ChildNodes dem zugehörigen Film übergeben?
Was genau benötigst du? Eine Einleseroutine für XML? Lies dir mal das Einsteigertutorial von pape durch...

Zitat:
Wie kann man elegant die Flashfilme einbinden?
Mit der MovieClipLoader-Klasse. Einfach mal die Sufu nutzen...
  Mit Zitat antworten
Alt 21-09-2009, 18:50   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 28
Danke für die Antwort.

Wie gesagt XML einlesen ist kein Problem. Nur wie kann ich die Daten einem eingeladenen Flash (OLE?) "Control" übergeben.

Beispiel:

Code:
<root>
<seq template="1.swf" optdata="data1" optdata2="data4"/>
<seq template="4.swf" optdata="data2" optdata2="data4"/>
<seq template="7.swf" optdata="data3" optdata2="data4"/>
</root>
Der Film soll nun zuerst "1.swf", "4.swf" und anschliessend "7.swf" abspielen.
Dabei soll 1.swf alle Attribute und ChildNodes übergeben werden. D. h. "1.swf" bekommt 'optdata="data1" optdata2="data4"' ggf. auch Childnotes von der ersten Sequence usw.

Da es sich bei den eingeladenen Flash Filmen um Templates handelt, kann ich auch nicht sagen, dass 1.swf die Daten z. B. aus "1.xml" lädt.


Die MovieClipLoader Klasse ist mir auch schon aufgefallen. Diese scheint aber, wie der Name ja schon sagt, nur fürs Laden zuständig zu sein. Wie kann ich diesen formatfüllend abspielen.

Ich suche etwas in der Art, dass ich in Frame 3 etwas wie folgendes schreiben kann (Dies würde ich später natürlich als Schleife umsetzen):

Code:
PlayMovie('1.swf', myChildNodeWithOptData);
PlayMovie('4.swf', myChildNodeWithOptData2);
PlayMovie('7.swf', myChildNodeWithOptData3);
gotoAndPlay(3);
Die Abarbeitung sollte synchron sein. D. h. zuerst wird 1.swf mit den Daten abgespielt. Danach 4.swf und zum Schluß 7.swf. Anschliessend soll halt wieder von vorne angefangen werden.
melatonin ist offline   Mit Zitat antworten
Alt 21-09-2009, 20:35   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Die MovieClipLoader Klasse ist mir auch schon aufgefallen. Diese scheint aber, wie der Name ja schon sagt, nur fürs Laden zuständig zu sein.
Die MovieClipLoader-Klasse lädt und überprüft das Laden. Außerdem stellt sie Preloader-Funktionen zur Verfügung und kann Ladefehler abfangen. Darüberhinaus gibt sie einen Complete-Callback, über den man auf den nachgeladenen Film bzw. den Container-MC auf den Film zugreifen kann.

So kannst du z.B. über diesen Callback auch Variablen - bspw. deine Datas - an den Film senden oder über einen onEnterFrame-Event checken lassen, ob der Film auf dem letzten Frame angekommen ist. Danach kannst du über den MovieClipLoader den nächsten Film starten etc.

Wurde hier aber alles schon erklärt...
  Mit Zitat antworten
Alt 21-09-2009, 21:16   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 28
Zitat:
Zitat von agedoubleju Beitrag anzeigen
Die MovieClipLoader-Klasse lädt und überprüft das Laden. Außerdem stellt sie Preloader-Funktionen zur Verfügung und kann Ladefehler abfangen. Darüberhinaus gibt sie einen Complete-Callback, über den man auf den nachgeladenen Film bzw. den Container-MC auf den Film zugreifen kann.
Danke, aber die Klassenbeschreibung von MovieClipLoader habe ich mir durchgelesen. Damit kann ich aber nur eine Ressource laden. Wie übergebe ich der Ressource weiter Daten.

In dem MovieClipLoader gibt es keine Übergabe einer Referenz, Zeigers etc. wo weitere Daten liegen an dem sich die Ressource bedienen kann.

So wie ich das verstehe, wird das Movie einfach nur geladen und kann irgendwie (noch nicht rausgefunden wie) abgespielt werden.

Darüber ob es gemeinsame Speicherbereiche, globale Variablen, invoke Methoden etc. gibt, habe ich leider nichts gefunden.

Die Sachen die ich über die Suche gefunden habe, beschäftigen sich damit wie man XML lädt oder Filme nachlädt. Darüber wie man Daten zwischen nachgeladenen Filmen austausch habe ich leider nichts gefunden.

Zitat:
Zitat von agedoubleju Beitrag anzeigen
So kannst du z.B. über diesen Callback auch Variablen - bspw. deine Datas - an den Film senden
So? Wo? Wie?

Zitat:
Zitat von agedoubleju Beitrag anzeigen
Wurde hier aber alles schon erklärt...
Ich habe leider nichts passendes gefunden.

Damit sichergestellt wird, dass meine Frage richtig verstanden wurde, versuche ich es nochmal zusammen zu fassen.

Ich suche einfach nur eine Möglichkeit n Filme, im Sinn von Templates, mit zusätzlichen Daten nacheinnander abzuspielen.

Wie kann ich das umsetzen?

Es wäre sehr nett, wenn mir jemand die Frage einfach nur beantworten würde, oder mir eine Referenz nennen könnte, wo ich dies nachlesen könnte.

Viele Grüße
Tim
melatonin ist offline   Mit Zitat antworten
Alt 21-09-2009, 21:53   #6 (permalink)
ur leiwand oida
 
Benutzerbild von l_ch
 
Registriert seit: Sep 2001
Ort: plagwitz/jumeirah lake towers
Beiträge: 1.663
ganz billig: du lädst es und im loadCompleteHandler passt du an event.target deine daten als objekt. ist ziemlich russisch - sollte es aber zumindest tun.

alternativ kannste dir natürlich auch ein template-framework schreiben.
__________________
and now for some reklame
________________
günstige kontaktlinsen
l_ch ist offline   Mit Zitat antworten
Alt 22-09-2009, 16:17   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 28
So habe ich es bisher umgesetzt:

Code:
import flash.events.Event;

var jobs:Array = new Array("templates/demo1.swf", "templates/demo2.swf");

var i=0;
var movies:Array = new Array();
var tempRequest:URLRequest;
var tempLoader:Loader = new Loader();
function loadNext()
{
	if(jobs.length >= i+1)
	{
		tempRequest = new URLRequest(jobs[i]);
		tempLoader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, finished_loading_temp);
		tempLoader.load(tempRequest);
		i++;
	} else
	{
		finished_preload();
	}
}

function finished_loading_temp (e:Event) {
	var tempClip:MovieClip = MovieClip(tempLoader.content);
	tempClip.gotoAndStop(0);
	movies.push(tempClip);
	loadNext();
}

loadNext();

var currentMovie=0;

function finished_preload()
{
	playNextMovie();
}

function playNextMovie()
{
	if(movies.length >= currentMovie+1)
	{
		movies[currentMovie].addEventListener(flash.events.Event.ENTER_FRAME, enter_frame);
		stage.addChild(movies[currentMovie]);
		movies[currentMovie].play();
		currentMovie++;
	}
}

function enter_frame(e:Event) {
	if(e.target.currentFrame == e.target.totalFrames)
	{
		e.target.stop();
		e.target.removeEventListener(flash.events.Event.ENTER_FRAME, enter_frame);
		stage.removeChild((e.target as MovieClip));
		playNextMovie();
	}
}
Wie kann ich nun meinen MovieClips Daten übergeben?
Die Templates enthalten u. a. dynamischen Text der gefüllt werden muss.

Die event.target Sache ist mir nicht ganz klar. Wenn ich den MovieClip lade, habe ich doch in der Callback als event.target ein LoaderInfo Objekt. Wie kann ich darüber Daten übergeben?

Kann ich direkt auf die stage von dem MovieClip zugreifen und direkt die Objekte manipulieren?

Oder gibt es ein Methode beim MovieClip (oder LoaderInfo?) dem ich Daten übergeben kann?

VG Tim
melatonin ist offline   Mit Zitat antworten
Alt 22-09-2009, 16:21   #8 (permalink)
ur leiwand oida
 
Benutzerbild von l_ch
 
Registriert seit: Sep 2001
Ort: plagwitz/jumeirah lake towers
Beiträge: 1.663
PHP-Code:
function finished_loading_temp (e:Event) {
    var 
tempClip:MovieClip MovieClip(tempLoader.content);
    
tempClip.datenDieWichtigSind=new Object({prop1:val1,prop2:val2});
    
tempClip.gotoAndStop(0);
    
movies.push(tempClip);
    
loadNext();

?
__________________
and now for some reklame
________________
günstige kontaktlinsen
l_ch ist offline   Mit Zitat antworten
Alt 22-09-2009, 16:32   #9 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 28
Danke, und wie greife ich aus dem Clip/Template auf datenDieWichtigSind zu?
melatonin ist offline   Mit Zitat antworten
Alt 22-09-2009, 22:41   #10 (permalink)
ur leiwand oida
 
Benutzerbild von l_ch
 
Registriert seit: Sep 2001
Ort: plagwitz/jumeirah lake towers
Beiträge: 1.663
this.datenDieWichtigSind?

also im clip:
PHP-Code:
public function init(){
    if(
dieDatenDieWichtigSind==null){
       return;
   }
   else{
      
//initialisiere den clip
   
}

im eventlistener
PHP-Code:
function finished_loading_temp (e:Event) { 
    var 
tempClip:MovieClip MovieClip(tempLoader.content); 
    
tempClip.datenDieWichtigSind=new Object({prop1:val1,prop2:val2}); 
    
tempClip.init();
    
tempClip.gotoAndStop(0); 
    
movies.push(tempClip); 
    
loadNext(); 

ist doch gar nicht so schwer. nicht sauber, aber wirkungsvoll
__________________
and now for some reklame
________________
günstige kontaktlinsen
l_ch ist offline   Mit Zitat antworten
Alt 23-09-2009, 08:56   #11 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 28
Super vielen Dank es funktioniert
melatonin 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zur Konvertierung von Flash MX-Dateien zu Flash CS3 bzw. Flash 8. Roderix Flash CS3 Professional 2 09-12-2008 22:29
flash 7 oder flash 8 aktionen in flash 6 nalin Flash MX 1 29-08-2006 03:33
Flash/Javascript und Flash/Flash Problem faster Flash MX 3 10-06-2005 16:01
Flash Frames / Eine Flash Datei aus mehren Flash Dateien erstellen andbub Flash MX 2004 10 15-01-2004 14:56
flash -->php-->auswerten-->flash warten --> flash aus php einlesen stex Flash mit XML und Webservices 25 10-09-2003 16:07


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele