如何为视差创建自动滚动,然后切换到鼠标控制事件


stage.addEventListener(Event.ENTER_FRAME, loop, false);
function loop(e:Event): void
{
if(scene.x <= -10 && scene.x >= -9200)
    scene.x -= (this.mouseX - 490) * speed;
{
    if(scene.x > -10) scene.x = -10;
    if(scene.x < -9200) scene.x = -9200;
}
}

因此,这是启动视差事件运行的所有代码。我正在使用Lee Brimelow layersmagazine.com 的代码。

当您将鼠标向左或向右移动舞台时,视差效果可以很好地滚动,但我希望它做的是在加载时自动启动视差效果,滚动一会儿然后停止并切换到由鼠标控制。

鼠标悬停事件并不是真正有效,因为滚动不能很好地使用它。

创建一个计时器以从自动滚动切换到鼠标滚动。将事件侦听器添加到 Enter Frame 事件,该事件每帧调整一点滚动。当计时器到达其时间时,删除 Enter Frame 事件侦听器,然后启动鼠标滚动代码。

像...

stage.addEventListener(Event.ENTER_FRAME, intro, false);
var myTimer:Timer = new Timer(5000, 1); // 5 seconds (5000 milliseconds)
myTimer.addEventListener(TimerEvent.TIMER, switchToMouse);
myTimer.start();
function intro(e:Event):void
{
    scene.x += 15; // Or whatever value scrolls nicely.
}
function switchToMouse(e:Event):void
{
    stage.removeEventListener(Event.ENTER_FRAME, intro);
    stage.addEventListener(Event.ENTER_FRAME, loop);
}
function loop(e:Event): void
{
    // mouse code here
}

相关内容

  • 没有找到相关文章

最新更新