【问题标题】:actionscript scrolling动作脚本滚动
【发布时间】:2012-11-13 04:32:58
【问题描述】:

在 AS3 中,当鼠标位于舞台右侧时,我试图让背景水平滚动。 (我的后台实例叫做“bp”。)

这不起作用:

while (mouseX > 600)
  {bp.x -= 2;}

【问题讨论】:

    标签: actionscript-3 flash actionscript scroll horizontal-scrolling


    【解决方案1】:

    Flash 用户界面逐帧更新,不应像您的 while 循环实现那样阻塞。

    每一帧,您都可以测试 mouseX 的位置并确定滚动背景的程度。

    这是一个示例实现:

    import flash.events.Event;
    
    addEventListener(Event.ENTER_FRAME, frameHandler);
    
    function frameHandler(event:Event):void
    {
        var d:Number = (stage.stageWidth >> 1) - stage.mouseX;
        bg.x -= d * 0.1;
    }
    

    【讨论】:

    • 这是正确的。作为进一步澄清,while 循环只运行一次。它不会一直运行,检查mouseX > 600。它运行一次,确定它是错误的,然后继续。当前设置循环的方式,它永远不会再次运行。按照 Jason 的说明进行操作,您就可以完成这项工作。或者,您也可以在 MouseEvent.MOUSE_MOVE 处理程序中执行此操作。在您的单线程应用程序上,这可能会减少 CPU 密集度。
    猜你喜欢
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    相关资源
    最近更新 更多