Bilder mit AS von links nach rechts laufen lassen!

Hi,

ist ja klar: Du fährst bild14 rein und löschst dann die onEnterFrame-Methode. Ausserdem würde die Startbedingung für die nächsten Bilder durch die Verschachtelung der if-Blöcke nie zutreffen (da ja alles weitere nur ausgeführt wird, wenn sich bild15._x auf der Position 10 befindet). Probier mal:
Code:
funktion.reinfahren(580, this.bild15);

this.onEnterFrame = function()
{
    if(bild15._x == 10)
    {
        funktion.reinfahren(580, this.bild14);
    }
    if(bild14._x == 10)
    {
        funktion.reinfahren(580, this.bild13);
    }
    if(bild13._x == 10)
    {
        funktion.reinfahren(580, this.bild15);
    }
}

Gruß
.
 
... dann müsstest Du die Bilder ja irgendwie wieder an ihre Ausgangsposition brinden. Deshalb hatte ich Dich gebeten, die Dateien einmal zu posten, damit ich mir ein direktes Bild davon machen kann, wie es mit Deinen Bildern aussieht. Wenn Du uns dann noch sagst, wie sich diese Endlosschleife verhalten soll (sollen die Bilder wieder langsam zu ihrem Ursprung wandern oder aprupt zurückgesetzt werden?), kann ich Dir ein Beispiel posten.

Gruß
.
 
Hi,

in diesem Fall würde ich das etwas anders aufziehen, damit die Funktion "reinfahren" nicht andauernd für fast alle Bilder aufgerufen wird. Ersetze den Code auf der Hauptzeitleiste durch diesen:
Code:
var current = 15; // Anzahl Bilder
var speed = 5; // Geschwindigkeit

for (var i=1; i<=15; i++) {
	var obj = this["bild" + i];
	obj.bx = obj._x; // Startposition
	obj.nx = 10; // Nächstes Bild hier starten!
	obj.dx = 580; // Endposition
	obj.doMove = function() {
		this._x = this.bx;
		this.running = true;
		this.onEnterFrame = function() {
			if (this._x < this.dx) {
				this._x += speed;
				if (this._x > this.nx && this.running) {
					moveNext();
					this.running = false;
				}
			} else {
				this._x = this.dx;
				delete this.onEnterFrame;
			}
		}
	}
}

function moveNext() {
	this["bild"  + current].doMove();
	current --;
	if (current < 1) current = 15;
}

moveNext();
Wenn Du die Bewegungen lieber in einer Klasse hast, kannst Du das natürlich wieder auslagern. ;)

Gruß
.
 
Danke hat einwandfrei funktioniert. Nun sieht der Code auch viel besser aus ;) . Schon das zweite mal das du mir hilfst vielen dank :)
 

Neue Beiträge

Zurück