0
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;
}

}

这就是启动 Parallax 事件运行的所有代码。我正在使用 Lee Brimelow 的 layersmagazine.com 的代码。

当您将鼠标向左或向右移动时,视差效果很好地滚动,但我希望它在加载时自动启动视差效果,滚动一段时间然后停止并切换到由鼠标控制.

MouseOver 事件并不是真正有效的,因为滚动不能很好地处理它。

4

1 回答 1

0

创建一个计时器以从自动滚动切换到鼠标滚动。向 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
}
于 2012-02-09T17:51:58.087 回答