Nach bestimmter Zeit nächste Seite aufrufen!

CikoNo1

Erfahrenes Mitglied
Hi Leute,

hab hier mal einen Actionscript Code bekommen. Die bewikt, dass nach einer vorgegebenen Zeit die nächste aufgerufen wird. Nun will ich aber für jede einzelne Seite bestimmen wie lang Sie angezeigt wird.

Hier mal der Code:
Code:
var movieNum = 1;
var sprache:String = "DE";

var array:Array = new Array()
array[0]  = "intro.swf";	// deutsch
array[1]  = "fla02.swf";
array[2]  = "fla03.swf";
array[3]  = "fla04.swf";
array[4]  = "fla05.swf";
array[5]  = "fla06.swf";
array[6]  = "fla07.swf";
array[7]  = "fla08.swf";
array[8]  = "fla09.swf";
array[9]  = "fla10.swf";
array[10] = "fla11.swf";
array[11] = "fla12.swf";
array[12] = "fla13.swf";
array[13] = "fla14.swf";
array[14] = "fla15.swf";
array[15] = "fla16.swf";
array[16] = "fla17.swf";
array[17] = "fla18.swf";
array[18] = "fla19.swf";
array[19] = "fla20.swf";
array[20] = "fla21.swf";
array[21] = "fla22.swf";

array[22] = "intro.swf";	// englisch
array[23] = "fla02.swf";
array[24] = "fla03.swf";
array[25] = "fla04.swf";
array[26] = "fla05.swf";
array[27] = "fla06.swf";
array[28] = "fla07.swf";
array[29] = "fla08.swf";
array[30] = "fla09.swf";
array[31] = "fla10.swf";
array[32] = "fla11.swf";
array[33] = "fla12.swf";
array[34] = "fla13.swf";
array[35] = "fla14.swf";
array[36] = "fla15.swf";
array[37] = "fla16.swf";
array[38] = "fla17.swf";
array[39] = "fla18.swf";
array[40] = "fla19.swf";
array[41] = "fla20.swf";
array[42] = "fla21.swf";

var dauer:Number = 1000;

loadMovieNum(array[0], 1);
setInterval(loadNextMovie, dauer);

function loadNextMovie():Void
{
	loadMovieNum(array[movieNum], 1);
	trace(movieNum);
	if(movieNum < array.length-1)
	{
		movieNum++;
		if(movieNum > 22)
			sprache = "EN";
	}
	else
	{
		movieNum = 0;
		sprache = "DE";
	}
}

MFG
 
Hi,

nimm ein zweidimensionales Array, in dem Du bei jedem Dateinamen zusätzlich die Anzeigedauer speicherst:
Code:
var movieNum = 1;
var sprache:String = "DE";

var array:Array = new Array()
array[0]  = ["intro.swf", 1000];	// deutsch
array[1]  = ["fla02.swf", 1500];
array[2]  = ["fla03.swf", 2000];
array[3]  = ["fla04.swf", 2500];
array[4]  = ["fla05.swf", 500];
array[5]  = ["fla06.swf", 2000];
array[6]  = ["fla07.swf", 5200];
array[7]  = ["fla08.swf", 4000];
array[8]  = ["fla09.swf", 1000];
array[9]  = ["fla10.swf", 1000];
array[10] = ["fla11.swf", 1500];
array[11] = ["fla12.swf", 2000];
array[12] = ["fla13.swf", 2200];
array[13] = ["fla14.swf", 2600];
array[14] = ["fla15.swf", 3000];
array[15] = ["fla16.swf", 1100];
array[16] = ["fla17.swf", 750];
array[17] = ["fla18.swf", 1000];
array[18] = ["fla19.swf", 2000];
array[19] = ["fla20.swf", 2500];
array[20] = ["fla21.swf", 3000];
array[21] = ["fla22.swf", 2500];

loadMovieNum(array[0][0], 1);
var iv = setInterval(loadNextMovie, array[0][1]);

function loadNextMovie():Void
{
	clearInterval(iv);
	loadMovieNum(array[movieNum][0], 1);
	if(movieNum < array.length-1)
	{
		movieNum++;
		if(movieNum > 22)
			sprache = "EN";
	}
	else
	{
		movieNum = 0;
		sprache = "DE";
	}
	iv = setInterval(loadNextMovie, array[movieNum - 1][1])
}
(Die englischen Einträge habe ich hier mal aus Faulheit weggelassen ;) )

Gruß
.
 
Das funktioniert jetzt wunderbar, DANKE!

Noch eine Kleinigkeit. Wenn jetzt das deutsche durch ist läuft das englische und nun soll wenn das englische durch ist das deutsche durchlaufen aber es bleibt beim letzten stehen! Wie mache ich es das es nach dem englischem wieder das deutsche durchläuft, es soll so zu sagen eine endlos schleife geben!
 
Oh,

ändere die Funktion "loadNextMovie" wie folgt:
Code:
function loadNextMovie():Void
{
	clearInterval(iv);
	loadMovieNum(array[movieNum][0], 1);
	if(movieNum < array.length - 1)
	{
		movieNum++;
		if(movieNum > 22)
			sprache = "EN";
	}
	else
	{
		movieNum = 0;
		sprache = "DE";
	}
	var idx = (movieNum > 0)? movieNum -1 : array.length - 1;
	iv = setInterval(loadNextMovie, array[idx][1]);
}
So wird vor dem erneuten Laden des ersten Filmes dennoch das Anzeigeintervall des letzten Filmes verwendet.

Gruß
.
 
Zurück