Movieclip scrollen?

Mein Ziel ist es in einem MC Vorschaubilder für eine Gallerie einzufügen und dieser MC sollte dann scrollbar sein. Wie schaffe ich es, das ich den Inhalt des MC, also quasi den MC, scrollen kann?
Bin relativer AS-Neuling und wäre froh, wenn mir das hier jemand gut erklären könnte, damit ich das dann nachbauen kann.
 
Scrollen ist nich ganz das einfachste, was man mit Flash lösen kann, aber ich versuch´s mal zu erklären.
Ich geh mal davon aus das du vertikal scrollen willst.

Letzendlich hast du ja die Höhe deines zu scrollenden MCs.
Dann hast du die Höhe von dem Sichtbaren bereich.
Wenn die Höhe des Mcs kleiner ist als die des sichtbaren Bereiches, hast du keine Probleme, ansonsten muss gescrollt werden.

In der Regel kommt dann ein Scrollbalken hinzu, den du mit dem Befehl startDrag () hin und her bzw, in diesem Fall nur rauf und runter draggen kannst.
startDrag erwartet einige Parameter die eingrenzen in welchem Bereich gedraggt werden darf.

Bei meinen Scrollbalken sieht das in der Regel dann so aus:
dragger.startDrag ( false, 0, 0, 0, possible_scroll )
Die Hilfe (F1) sagt dazu folgendes:
"mein_mc.startDrag([einrasten, [links, oben, rechts, unten]])"
Einrasten führt dazu das auch wenn man nur eine Ecke des Scrollbalken erwischt, er zentriert unter der Maus hängt, aber er soll ja da bleiben wo er ist, insofern sollte da ein false sein.
Die drei Nullen machen nur Sinn wenn der MovieClip auf der Postion x:0, y:0 liegt,
in der Variabel possible_scroll steht bei mir wie weit nach unten gescrollt werden darf.
Das hängt z.b. von der Höhe des Scrollbalken ab.

Zu dem Befehl startDrag gehört auch der Befehl stopDrag, da der Balken sonst für immer an der Maus hängt.
Überlicherweise sieht das dann so aus:
PHP:
dragger.onPress = function ()
{
	this.startDrag ( false, 0, 0, 0, possible_scroll )			
}
dragger.onRelease = function ()
{
	stopDrag();
}
Ich arbeite bei Scrollbalken gerne mit Prozenten, d.h. ich errechne mir die Prozentzahl der Position des Scrollbalkens (oben 0% unten 100% dazwischen dann entsprechent),
dann erechne ich mir den Maximalen weg den der zu scrollende Mc bewegt werden darf und setzte ihn auf die gleiche Prozentzahl seines Maximalen Weges.
(Es sind bei mir zwar keine echten Prozente da sie nur von 0-1 gehen, aber das ist denke ich gerade nebensächlich... )

Das ganze könnte dann z.B. so aussehen:
PHP:
dragger.onPress = function ()
{
	doDrag ()
}
dragger.onRelease = function ()
{
	doStopDrag()
}
dragger.onReleaseOutside = function ()	
{
	doStopDrag()
}

function doDrag ()									
// Scrollfunktion während onPress auf Dragger
{		
	dragger.startDrag ( false, 0, 0, 0, possible_scroll )			
	dragger.onEnterFrame = function ()
	{				
		var percent = ( dragger._y / possible_scroll )			
		obi._y = 0 - ( dif  * percent )
	}
}		
function doStopDrag()								
// Ende Scrollfunktion bei OnRelease
{
	dragger.stopDrag()
	delete dragger.onEnterFrame 
}
Wobei obi der zu scrollende MC ist, dif die Differenz zwischen der Höhe des zu Scrollenden Mcs und die des Sichtbaren Bereiches.

Ich hab mal ein einfaches Beispiel als Fla angehängt.
Da fehlen dann natürlich noch so Sachen wie Mausradunterstützung, einen Klickbaren Hintergrund des Scrollbalkens, sanfte Bewegungen, etc.

Aber vom Prinzip her ist das eine Lösung.
 

Anhänge

  • simpleScroll_mx.zip
    4,6 KB · Aufrufe: 151
danke erstmal. ich werd das mal durchprobieren. ich hoffe, das geht auch mit flash 5 noch. mit flash mx 2004 komm ich nicht wirklich zurecht. das ist mir irgendwie zu unübersichtlich. liegt wohl daran, das mein monitor zu klein ist...

habe mir da noch was anderes nachgebaut, was acuh meine zwecke erfüllen würde. aber irgendwie habe ich noch nicht rausgefunden, wie ich die scrollgeschwindigkeit beeinflussen kann. kannst du mal rein schauen?
 

Anhänge

  • vorschau.zip
    34,4 KB · Aufrufe: 48
hab das nochmal porbiert und die bitrate von 12 auf 50bps geändert. jetzt läuft es schneller. allerdings tritt dann ein neues problem auf. von der gewonnenen geschwidnigkeit habe ich nichts, weil das alles in meinem browser (firefox 1.0.3) trotzdem langsam läuft. nur manchmal läufts es schnell. allerdings läuft es im i.explorer normal schnell. so wie ichs eben eingestellt habe.
hat irgendwer einen ratschlag, wie ich die scrollgeschwindigkeit auf eine andere art lösen kann, so das die flash-datei mit allen browsern läuft?


link der datei:http://www.8ung.at/klappstuhl-industries/flashtest/vorschau.html
 
Zurück