Scrollfenster - mit mc an einen bestimmten Bereich scrollen

MTMonline

Mitglied
Hallo,

ich habe in Flash einen Scrollbalken welcher auch einwandfrei funktioniert. Nun möchte ich mit einem Click auf einen mc („jumper1“ bzw. „jumper2“) den Scrollbereich an einen bestimmten Bereich springen lassen. Ich hoffe man versteht einigermaßen was ich damit meine.

Hier ein Auszug aus dem Actionscript welcher einwandfrei funktioniert:
(„up“ ist der mc mit welchem der Scrollbereich nach oben gescrollt wird)

Code:
down.useHandCursor = false;
	down.onRollOver = function() {
		this.arrow._alpha = 150;
	}
	down.onRollOut = function() {
		this.arrow._alpha = 100;
	}
	down.onPress = function() {
		startMove(1);
	}
	down.onRelease = function() {
		stopMove();
	}
	down.onReleaseOutside = function() {
		this.arrow._alpha = 100;
	}

Nun hätte ich bereits versucht einen neuen mc („jumper 1“) zu erstellen, welcher bei „startMove“ anstatt dem Wert 1 z. B. 6 enthält. Dann springt der Scrollbereich zwar dementsprechend weit wie ich es wollte, nur wenn man mit gedrückter Mousetaste auf dem mc bleibt springt der Scrollbereich immer um „6“ weiter. Ich möchte aber das er nach „startMove(+6)“ stopt und anhält.

Hier noch mal ein Auszug aus dem Actionscript:
(„jumper1“ ist der mc mit welchem der Scrollbereich an eine bestimmte Stelle springen / scrollen soll)

Code:
	_root.mc_bereich_fußball.window.container.jumper1.onPress = function() {
		startMove(+6);
	}
	_root.mc_bereich_fußball.window.container.jumper1.onRelease = function() {
		stopMove();
	}
	_root.mc_bereich_fußball.window.container.jumper1.onReleaseOutside = function() {
		stopMove();
	}

Weiß jemand eine Lösung für mich mit welchem ActionScript Befehl das ganze funktionieren könnte?

Im Anhang ist auch die fla dazu.

Danke schonmal,
Tobi
 

Anhänge

  • 26013attachment.zip
    82 KB · Aufrufe: 110
Hi,

das machst Du, indem Du der Funktion "startMove" einen Parameter mitgibst, der ihr mitteilt, dass die Bewegung nach einem Schritt beendet werden soll. Modifikation:
Code:
function startMove(d, once) {
	if (speed == undefined) speed = 2;
	sliding = true;
	bgnd.onEnterFrame = function() {
		slider._y += (d * speed);
		if (slider._y < 0) slider._y = 0;
		if (slider._y > bgnd._height - slider._height) slider._y = bgnd._height - slider._height;
		if (once) stopMove();
	}
}

Aufruf dann z.B. so:
Code:
_root.mc_bereich_fußball.window.container.jumper1.onPress = function() {
	startMove(6, true);
}

Gruß

P.S.: So etwas:
Code:
startMove(+10);
solltest Du nicht tun. Positive Nummern werden ohne Vorzeichen, negative mit dem Minus (-) notiert.

P.P.S.: Ist übrigens mein Scroller-Script. ;)
.
 
Hallo,

erstmal danke für die schnelle Antwort!

Wenn ich nun nach den Änderungen auf meinen mc "jumper1" clicke springt zwar der Srollbalken um z. B. 6 nach unten und stoppt dann wie gewünscht, aber der Text scrollt nicht mit.
Erst wenn ich mit der Mouse den Scrollbalken manuell verschiebe, bzw. nach oben oder nach unter scrolle springt auch der Text nach unten.

Weißt du was ich noch umstellen muss, oder hab ich irgendwas nicht eingegeben?

Tobi
 
Hi,

sorry, mein Fehler. Du musst natürlich die Funktion "getPos", die den Inhalt verschiebt, zumindest einmal aufrufen. Probiers mal so:
Code:
function startMove(d, once) {
	if (speed == undefined) speed = 2;
	sliding = true;
	bgnd.onEnterFrame = function() {
		slider._y += (d * speed);
		if (slider._y < 0) slider._y = 0;
		if (slider._y > bgnd._height - slider._height) slider._y = bgnd._height - slider._height;
		if (once) {
			getPos();
			stopMove();
		}
	}
}

Gruß
.
 
Hallo zusammen,

ich hab nochmal eine Frage zu dem Script und zwar möchte ich das Script nur ohne die Verlinkung zu den Beiträgen oben haben und eine individuelle Scrollbar einbauen.

Wie kann ich das realisieren, dass ich z.B. den Balken von der Scrollbar immer 40 Pixel hoch habe ohne das er sich nach der Scrollbar uasrichtet also quasi wächst sobald mehr Inhalt dadrinne ist?

Vielen Dank für die Hilfe
Gruß Sammy
 

Neue Beiträge

Zurück