Mouse_Over Scroll

Twos

Erfahrenes Mitglied
Hi

Ich möchte in ActionScript 3 ein Textfeld scrollen wenn ich mit der Maus über den Button fahre. Folgenden Code benutze ich für den "down" Button:


Code:
down_btn.addEventListener(MouseEvent.MOUSE_OVER, function(evt:Event) {
textfield_txt.scrollV++;										
});

Logischerweise scrollt das Textfeld nicht weiter, sondern ich muss immer wieder mit der Maus über den Button fahren, damit es eins weiter rutscht. Ich suche nach einer Möglichkeit das Textfeld so lange in die gewünschte Richtung laufen zu lassen bis ich wieder vom Button runter gehe.

In AS2 war das nicht so kompliziert :-(

Kann mir jemand helfen?
 
Du könntest es mit einem Timer machen!
Und einigen Hilfsvariablen...

Code:
import flash.utils.Timer;
import flash.events.TimerEvent;

var direction:String = new String(); //Dieser String gibt die Scrollrichtung an
var timer:Timer; //Das ist der Timer, mit dem wir das Scrollintervall festlegen

down_btn.addEventListener(MouseEvent.MOUSE_OVER, scrollDownHandler);
down_btn.addEventListener(MouseEvent.MOUSE_OUT, scrollDownEndHandler);

function scrollDownHandler(e:MouseEvent):void {
      direction = "down";
      timer = new Timer(500, 0);
      timer.addEventListener(TimerEvent.TIMER, timerRunning);
      timer.start();
}
function timerRunning(e:TimerEvent):void {
      if (direction == "down") {
            textfield_txt.scrollV++;
      } 
}
function scrollDownEndHandler(e:MouseEvent):void {
      direction = new String();
      timer.removeEventListener(TimerEvent.TIMER, timerRunning);
      timer.stop();
      timer.reset();
}
 
Zurück