Actionscript 3 使用Actionscript 3.0从左向右滚动

Actionscript 3 使用Actionscript 3.0从左向右滚动,actionscript-3,flash,button,if-statement,scroll,Actionscript 3,Flash,Button,If Statement,Scroll,也许有人能帮我解决这个Adobe Flash Actionscript 3.0问题 我试图在屏幕的最左侧和最右侧创建一个带有“按钮”的时间线,这样当鼠标移动到屏幕的这些部分时,时间线就可以被擦洗。按钮本身只是一种向用户显示需要将鼠标悬停在何处以使时间轴向该方向滚动的方式 我已经能够使用下面的代码将时间线删除一次,但是我想让它在用户将鼠标停留在它上面的时间段内保持滚动 我还放置了一个If语句,防止时间轴从屏幕上滚动 目前该代码只使用一次,在X轴上从左向右移动15。我如何使它保持稳定地向左或向右移动

也许有人能帮我解决这个Adobe Flash Actionscript 3.0问题

我试图在屏幕的最左侧和最右侧创建一个带有“按钮”的时间线,这样当鼠标移动到屏幕的这些部分时,时间线就可以被擦洗。按钮本身只是一种向用户显示需要将鼠标悬停在何处以使时间轴向该方向滚动的方式

我已经能够使用下面的代码将时间线删除一次,但是我想让它在用户将鼠标停留在它上面的时间段内保持滚动

我还放置了一个If语句,防止时间轴从屏幕上滚动

目前该代码只使用一次,在X轴上从左向右移动15。我如何使它保持稳定地向左或向右移动,直到鼠标离开滚动按钮

    //Scroll Logic
backScroll_btn.addEventListener(MouseEvent.ROLL_OVER, backScroll);

function backScroll(e:MouseEvent){
    if(timeLine.x < 1406.55){
        timeLine.x = timeLine.x + 15;}
}

forwardScroll_btn.addEventListener(MouseEvent.ROLL_OVER, forwardScroll);

function forwardScroll(e:MouseEvent){
    if(timeLine.x > 0){
        timeLine.x = timeLine.x - 15};
}
//滚动逻辑
backScroll\u btn.addEventListener(MouseEvent.ROLL\u OVER,backScroll);
函数backScroll(e:MouseeEvent){
如果(timeLine.x<1406.55){
timeLine.x=timeLine.x+15;}
}
forwardScroll\u btn.addEventListener(MouseEvent.ROLL\u OVER,forwardScroll);
功能向前滚动(e:MouseeEvent){
如果(timeLine.x>0){
timeLine.x=timeLine.x-15};
}

我认为这可能会起作用,让enterframe事件在项目滚动时进行侦听,并在鼠标从按钮上滚动时每帧增加X

backScroll_btn.addEventListener(MouseEvent.ROLL_OVER, backScroll);


function backScroll(e:MouseEvent):void
{
    addEventListener(Event.ENTER_FRAME,myButton);
    backScroll_btn.addEventListener(MouseEvent.ROLL_OUT, backScrollOut);
}

function backScrollOut(e:MouseEvent):void
{
    removeEventListener(Event.ENTER_FRAME,myButton);
}

function myButton(e:Event):void
{
    timeLine.x+=15;
}

由于需要连续滚动,请使用enter frame事件侦听器触发滚动。然后,按钮将有两个侦听器触发任意一侧的滚动开/关

var scrollingBack:Boolean;
var scrollingForward:Boolean;
backScroll_btn.addEventListener(MouseEvent.ROLL_OVER, backScrollOn);
backScroll_btn.addEventListener(MouseEvent.ROLL_OUT, backScrollOff);
function backScrollOn(e:MouseEvent):void { scrollingBack=true; }
function backScrollOff(e:MouseEvent):void { scrollingBack=false; }
forwardScroll_btn.addEventListener(MouseEvent.ROLL_OVER, forwardScrollOn);
forwardScroll_btn.addEventListener(MouseEvent.ROLL_OUT, forwardScrollOff);
function forwardScrollOn(e:MouseEvent):void { scrollingForward=true; }
function forwardScrollOff(e:MouseEvent):void { scrollingForward=false; }
timeline.addEventListener(Event.ENTER_FRAME,doScroll);

function doScroll(e:Event):void {
    if (scrollingForward) {
         if(timeLine.x > 0){
            timeLine.x = timeLine.x - 15};
    } else if (scrollingBack) {
        if(timeLine.x < 1406.55){
            timeLine.x = timeLine.x + 15;}
    }
}
var回滚:布尔值;
var scrollingForward:布尔值;
backScroll\u btn.addEventListener(MouseEvent.ROLL\u OVER,backScroll);
backScroll\u btn.addEventListener(MouseEvent.ROLL\u OUT,backScrollOff);
函数backScrollOn(e:MouseEvent):void{scrollingBack=true;}
函数backScrollOff(e:MouseEvent):void{scrollingBack=false;}
forwardScroll\u btn.addEventListener(MouseEvent.ROLL\u OVER,forwardScroll);
forwardScroll\u btn.addEventListener(MouseEvent.ROLL\u OUT,forwardScrollOff);
函数forwardScrollOn(e:MouseEvent):void{scrollingForward=true;}
函数forwardScrollOff(e:MouseEvent):void{scrollingForward=false;}
timeline.addEventListener(事件。输入_FRAME,doScroll);
函数doScroll(e:事件):无效{
如果(向前滚动){
如果(timeLine.x>0){
timeLine.x=timeLine.x-15};
}else if(回滚){
如果(timeLine.x<1406.55){
timeLine.x=timeLine.x+15;}
}
}

Ninja'd:)但是,没有检查约束,重复滚动请求需要调用多个addEventListener。除了一部分之外,所有这些代码对我来说都是有意义的。“scrollingBack”和“scrollingForward”是未定义的。我知道,如果它是一个对象,我只需要告诉Flash来监听该特定对象的实例名。我如何识别一个技术上不存在的对象,比如“scrollingBack”和“scrollingForward”?我解决了问题!我只需要添加“var scrollingBack:Boolean;”和“var scrollingForward:Boolean;”以消除未定义的属性错误。谢谢你的帮助!它现在工作得很好!