2012-02-09 8 views
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イベントの実行を開始するすべてのコードです。私はlayersmagazine.comのコードをLee Brimelowが使っています。Parallaxの自動スクロールを作成し、マウスコントロールイベントに切り替えるにはどうすればよいですか?

ステージの左右にマウスを動かすと、視差効果がうまくスクロールしますが、私がしたいことは、読み込み時に自動的に視差効果を開始し、少しスクロールして停止してからマウスによって制御される。

MouseOverイベントは、スクロールがうまく機能しないため実際には効果的ではありません。

答えて

0

自動スクロールからマウススクロールに切り替えるタイマーを作成します。イベントリスナーをフレーム入力イベントに追加して、各フレームを少しずつスクロールします。タイマーが時間に達すると、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 
} 
+0

どうもありがとうございました! 私はタイマーを作る必要があることを知っていましたが、毎回タイマーを作ろうと試みたが、決してうまくいかない。 これはすばらしいです! 睡眠不足はあまり役に立ちません。 – joemidi

関連する問題