Schleifenprobleme

flashsi

Erfahrenes Mitglied
Hallo,

vielleicht könnte mir jemand weiterhelfen. Ich habe folgendes Script:


var g = 1;
anfang();



var h = 2;


zeit;
foto;

function bilder() {

leinwand.attachMovie("foto"+h, "fotoa"+h, 10);
h++;
g++;
trace(g);

if (h == 11) {
h = 1;
}
clearInterval(iv);
};


function anfang() {

leinwand.attachMovie("foto1","foto11",10);

if (g = 1) {
var iv = setInterval(this, "bilder", 3000);

} else {
zeit = Math.floor(Math.random()*(10000-8000+1))+8000;
var iv = setInterval(this, "bilder", zeit);
}

}



Funktioniert aber nicht so wie ich es mir vorstelle. Nämlich: ein MC soll anfangs geladen werden, dann immer wieder ein neuer, aber mit einer variablen Zeit. Die wird aber nicht neu gesetzt. Es bleibt immer bei 3000.

Danke schonmal.
 
Wenn möglich das nächste mal den Quellcode formatieren:
Code:
var g = 1;
anfang();
var h = 2;
zeit;
foto;

function bilder() {
    leinwand.attachMovie("foto"+h, "fotoa"+h, 10);
    h++;
    g++;
    trace(g);
    if (h == 11) {
        h = 1;
    }
    clearInterval(iv);
};


function anfang() {
    leinwand.attachMovie("foto1","foto11",10);
    if (g = 1) {
        var iv = setInterval(this, "bilder", 3000);
    } else {
        zeit = Math.floor(Math.random()*(10000-8000+1))+8000;
        var iv = setInterval(this, "bilder", zeit);
    }
}

Aber was stehen denn folgende Zeilen:
Code:
zeit;
foto;
 
Das Problem habe ich gelöst.
Aber schon das nächste:

Ich möchte nun die Bildershow anhalten können und dann wieder weiterlaufen lassen können. Ich kriegs aber nicht hin, den Interval zu löschen und wieder zu starten:

Code:
var hv:Number;

anfang();

var v = setInterval(bilder, 7000);
var h = 2;
var zeit;
var foto;

function bilder() {
	clearInterval(v);
	leinwand.attachMovie("foto"+h,"fotoa"+h,10);
	h++;
	if (h == 14) {
		h = 1;
	}
	clearInterval(hv);
	var hv = setInterval(bilder, 5000);
}

function anfang() {
	leinwand.attachMovie("foto1","foto11",10);
}

halt.onPress = function() {
	clearInterval(hv);
};
vor.onPress = function() {
	leinwand.attachMovie("foto"+h,"fotoa"+h,10);
	var hv = setInterval(bilder, 5000);
};

Vielleicht hättest Du eine Lösung?
 
Probier es mal so. Ich habe vor hv die var's gelöscht:
Code:
var hv:Number;

anfang();

var v = setInterval(bilder, 7000);
var h = 2;
var zeit;
var foto;

function bilder() {
	clearInterval(v);
	leinwand.attachMovie("foto"+h,"fotoa"+h,10);
	h++;
	if (h == 14) {
		h = 1;
	}
	clearInterval(hv);
	hv = setInterval(bilder, 5000);
}

function anfang() {
	leinwand.attachMovie("foto1","foto11",10);
}

halt.onPress = function() {
	clearInterval(hv);
};
vor.onPress = function() {
	leinwand.attachMovie("foto"+h,"fotoa"+h,10);
	hv = setInterval(bilder, 5000);
};
 

Neue Beiträge

Zurück