Schwebende Bildergalerie (mx)

black-dog

Erfahrenes Mitglied
Hi zusammen!

Ich möchte eine Bildergalerie (3 bilder), für meine Homepage erstellen. Die ist so aufgebaut, dass der user immer 1 Bild (810 x 400 pixel) sieht. zwei schwarze Buttons dienen zum weiter, bzw. zurückblättern.

bisher sieht mein code folgender massen aus:

Code:
MovieClip.prototype.floatTo = function(s, x) {
    this._x += (Math.round(x-this._x)*s)*s;
};

weiter.onPress = function() {
    count++

    inhalt.onEnterFrame = function() {
        inhalt.floatTo(.5, "0" - count*810);
		};
}; 

zurueck.onPress = function() {
    count++
    inhalt.onEnterFrame = function() {
        inhalt.floatTo(.5, "0" + count*810);
    };
};

Mein Problem ist nun, dass ich unendlich lange weiterblättern kann. Das Zurückblättern funktioniert erst gar nicht!

Wie krieg ich das hin, das ich zwischen meinen 3 Bildern sauber hin und her springen kann?

Unter http://www.mypage.bluewin.ch/thomasjulier/startseite.swf seht ihr meinen bisherigen Script in Aktion.

Unter http://www.mypage.bluewin.ch/thomasjulier/startseite.fla könnt ihr mein Entwicklungsfile runterladen, damit ihr, falls ihr mir helfen wollt, nicht erst alles nachbauen müsst.

Vielen Dank schon mal!
 
Hi,

ohne mir die .fla angesehen zu haben:
  • Warum übergibst Du der Funktion floatTo einen String? Besser wäre so:
PHP:
inhalt.floatTo(.5,  -count*810);
  • Beim Zurückblättern solltest Du die Variable count wieder runterzählen:
PHP:
zurueck.onPress = function() {
    count--;
  • Diese Variable kannst Du auch verwenden, um die Grenzen zu überwachen:
PHP:
zurueck.onPress = function() {
    if (count > 0) {
        count--;
        // Zurückfloaten
und umgekehrt:
PHP:
weiter.onPress = function() {
    if (count < 3) {
        count++;
        // Vorfloaten

Gruß
.
 
Ich hab nun den Script deinen Vorschlägen entsprechend angepasst. Das Weiterblättern funktioniert einwandfrei! Beim Zurückblättern hab ich allerdings immer noch Mühe:

Code:
 MovieClip.prototype.floatTo = function(s, x) {
    this._x += (Math.round(x-this._x)*s)*s;
};

weiter.onPress = function() {
	if (count < 2) {
    count++
    inhalt.onEnterFrame = function() {
	inhalt.floatTo(.5, -count*810);
		};
	};
}; 

zurueck.onPress = function() {
	if (count > 0) {
    count--
    inhalt.onEnterFrame = function() {
        inhalt.floatTo(.5 +count*810);
    	};
	};
}; {

Vielen Dank für deinen Tip!
 
Hi.

1. Versuchs mal mit einem Semikolon am Ende der Zeile:
Code:
count--;

2. Dort fehlt ein Komma:
Code:
inhalt.floatTo(.5, +count*810);

Gruß
.
 
Erstmal herzlichen Dank, funktioniert einwandfrei:

Code:
MovieClip.prototype.floatTo = function(s, x) {
	this._x += (Math.round(x-this._x)*s)*s;
};
weiter.onPress = function() {
	if (count<1) {
		count++;
		inhalt.onEnterFrame = function() {
			inhalt.floatTo(.5, -count*810);
		};
	}
	if (count>1) {
		count++;
		getURL("beta.faced.ch/?category=2");
	}
};
zurueck.onPress = function() {
	if (count>0) {
		count--;
		inhalt.onEnterFrame = function() {
			inhalt.floatTo(.5, -count*810);
		};
	}
};
stop

Nun möchte ich, dass wenn die Galerie fertig angeguckt ist, man also beim letzten Bild auf weiter klickt, die Seite ende.html aufgerufen wird! Wie krieg ich das hin?

mfg
 
PHP:
weiter.onPress = function() {
	if (count<1) {
		count++;
		inhalt.onEnterFrame = function() {
			inhalt.floatTo(.5, -count*810);
		}
	} else {
		getURL("beta.faced.ch/?category=2");
	}
}

Gruß
.
 

Neue Beiträge

Zurück