Movieclip von bis scrollen

TarAldarion

Mitglied
Ich habe folgenden Code(AS3):
PHP:
scroll_down.addEventListener(MouseEvent.CLICK, onClickHandler);
scroll_up.addEventListener(MouseEvent.CLICK, onClickHandler);

function onClickHandler(e:MouseEvent):void {
    switch (e.target) {
        case scroll_down :
            if (content.y>maske.height-content.height) content.y=content.y-70;
        break;
        case scroll_up :
            if (content.y<=maske.y) content.y=content.y+70;
        break;
    }
}

MIt diesem Code wird ein Movieclip per Buttons nach unten und nach oben gescrollt.
Nun würde ich gerne haben das wenn der Movieclip am Anfang ist, das man nicht nach oben scrollen kann und das man nur so lange nach unten scrollen kann wie Inhalt da ist.

Ich bekomms nicht hin, kann mir da jemand behilflich sein?

Vielen Dank

TarAldarion
 
Hey TarAldarion :)

Erstens: x = x - 1; ist das Selbe wie x -= 1;

switch ist ganz gut, mein persönlicher Geschmack ist aber eine if - vor allem wenn man nur 2 Fälle unterscheidet. Viel weniger und viel übersichtlicher.

Zu deinem eigentlichen Problem: anscheinend hast du über das if (content.y<=maske.y) ja schon probiert die Bewegungen zu beschränken. Was hat denn daran nicht geklappt? Ohne zu wissen was genau die Maske maskiert und was ihre Koordinaten sind kann ich da nur ins Dunkle raten. Deswegen: lass dir mal beide Werte per trace(x) ausgeben und guck wie sie zueinander stehen. Wenn das nicht reicht poste einfach mal die fla :)

Gruß
jens
 
Hallo Jens,

Ich hab jetzt mal die fla im Anhang. Wenn man sie öffnet, kann man gleich nach oben scrollen, sprich der Inhalt verschwindet nach unten. Das sollte nicht gehen.
Es soll auch nur solange nach unten gescrollt werden können wie Inhalt da ist.
Ich hoffe mit der fla wird das alles ein wenig deutlicher.

TarAldarion
 

Anhänge

  • scroll.fla
    29,5 KB · Aufrufe: 28
Probier's mal so:

Code:
scroll_down.addEventListener(MouseEvent.CLICK, onClickHandler);
scroll_up.addEventListener(MouseEvent.CLICK, onClickHandler);

function onClickHandler(e:MouseEvent):void {
	// 272 ist die Höhe des Films, also die Höhe des Bereichs, in dem der content angezeigt wird
	if(e.target == scroll_down	&& content.y > 272 - content.height) 
		content.y -= 70;
	if(e.target == scroll_up 	&& content.y < 0) 
		content.y += 70;
}
 
Jetzt ist ein neues Problem aufgetreten. Wenn der Film geöffnet wird kann ich nicht nach oben scrollen, wie gewünscht, kann nach unten scrollen bis der Inhalt aufhört, aber ich kann nicht mehr komplett nach oben scrollen. In meiner Beispiel fla geht da alles glatt, aber ich hab das auf eine andere Datei übertragen und da haut das nicht mehr hin. Woran kann das liegen?
 
Naja du musst die Werte entsprechend anpassen. An welcher Position ist der content-Movieclip denn in der fla?
 
Ich hab schon das ein oder andere versucht.
Ich hoffe du meinst die x und y Werte.
x = 105
y = 218.3

Das Dokument, ist 1024x768 Pixel groß.
 
Zurück