Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-01-2005, 12:07   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: Espelkamp
Beiträge: 20
Mit externen swf’s einen Hauptfilm steuern!!

Ich habe ein kleines / großes Problem!!

Ich habe einen Hauptfilm in dem mehrere swf Filme nacheinander reingeladen werden müssen. Im Detail soll es so funktionieren das ein Film geladen wird und sobald dieser zuende ist soll der nächste abgespielt werden.

Beispielabspielreihenfolge: intro_1.swf => trenner_1.swf => inhalt_1.swf => usw.

Das Problem ist das die Filme nicht gleich lang sind. Also müssten die externen Filme irgendwie mit dem Hauptfilm kommunizieren können. Wenn das funktionieren würde könnte der externe Film (der gerade läuft) an den Hauptfilm senden das er zuende ist und der nächste geladen werden soll. Alle Filme müssen in level nicht in MC geladen werden.

Die „Playliste“ habe ich in einem mehrdimensionalen Array hinterlegt. Ich kann dieses auch auslesen und den Film bestimmen der laufen müsste.

Was ich nicht schaffe ist diese Funktion im richtigen Moment auszulösen und zwar wenn ein Film zuende ist und der nächste beginnen sollte.


Hier mein ActionScript: (Nicht lachen ich bin im ActionScript noch Anfänger)

Code:
ablauf = [
	["intro_0.swf","trenner_1.swf","inhalt_1.swf"],
	["intro_1.swf","trenner_1.swf","inhalt_2.swf"]
];

_global.rubrik = 0;
_global.inhalt = 0;

_global.max_rubrik = ablauf.length-1;
_global.max_inhalt = ablauf[rubrik].length-1;

function content_ermitteln(){
	if(inhalt <= max_inhalt){
		inhalt_weiter();
	}
	if(inhalt > max_inhalt){
		rubrik_weiter();
	}
}

function inhalt_weiter(){
	 inhalt = inhalt + 1;
}

function rubrik_weiter(){
	 if (rubrik > max_rubrik){
	 rubrik = 0;
	 }else{
	 rubrik = rubrik + 1;
	 inhalt = 0;
}
}

content_ermitteln();
loadMovieNum(ablauf[rubrik][inhalt], 1);
Dieses Script sieht vielleicht komisch aus aber es funktioniert. Das Problem ist das die Funktion nicht dann ausgeführt wird wenn ein Film zuende ist sondern zu einem festen Zeitpunkt im Film.


Das große Problem ist wie schaffe ich es das der externe Film (der gerade läuft) dem Hauptfilm (mit der Funktion) sagt das er jetzt zu ende ist und die Funktion „content_ermitteln()“ ausgeführt werden soll um den nächsten (externen) Film zu ermitteln.



Noch ein Beispiel:

Master.swf <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <
| | | |
| | | intro_1.swf => sendet z.B. „ende“ an Master => content_ermitteln() => |
| | |
| | trenner_2.swf => sendet auch „ende“ an Master => content_ermitteln() => |
| |
| inhalt_1.swf => sendet auch „ende“ an Master => content_ermitteln() => |



Ich würde mich freuen wenn mir jemand einen Tipp geben könnte.

Geändert von Damian007 (22-01-2005 um 12:08 Uhr)
Damian007 ist offline   Mit Zitat antworten
Alt 22-01-2005, 12:19   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
"..Was ich nicht schaffe ist diese Funktion im richtigen Moment auszulösen und zwar wenn ein Film zuende ist und der nächste beginnen sollte.."

in jedem dieser filme im letzten frame einen functionsaufruf z.b.
_level0.fNextPlay('myName');

_level0 <-- der hauptfilm ist immer auf level null
'myName' <-- information, wer gesendet hat

in hauptfilm dann
function fNextPlay(vFilmName) {
switsch (vFilmName)
{ case 'aaa': ...; break;
case 'bbb': ...; break;
}
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 22-01-2005, 12:21   #3 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Zuerst solltest du deine zuladenden swf's in einzelne Container-MC's speichern. Damit kann man dann besser seine MC's ansprechen.

z.B.
intro_1.swf soll master-swf ansprechen bauch st du nur _root zuverwenden.
ActionScript:
  1. _root.gotoAndStop(50);
und den Rest findest du hier.

Link zum Thema ansprechen von externen SWF:
http://www.flashforum.de/forum/showthread.php?t=12355
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 22-01-2005, 18:10   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: Espelkamp
Beiträge: 20
Ich danke euch für eure Hilfe.

ES FUNKTIONIERT!!

Ihr habt mir das Wochenende gerettet.
Damian007 ist offline   Mit Zitat antworten
Alt 24-01-2005, 12:38   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: Espelkamp
Beiträge: 20
Wie kann ich einen Film der mit dem Befehl _level0. von einem externen Film aus geladen wurde wieder entladen. Ich habe es mit
Code:
_level0.unloadMovie(1)
probiert aber er schmeißt mir gleich alle Filme raus.

Habe ich da einen denkfehler drin??
Damian007 ist offline   Mit Zitat antworten
Alt 24-01-2005, 13:16   #6 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Wenn du den Hauptfilm enlädtst, gehen automatisch alle Unterfilme verloren.
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk 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 22:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele