1

私はウェブサイトを作っています、そして私は16ページの間に時間遅延を作りたいです、私はこれをしました:

var myDelay:Timer = new Timer(700,1);

myDelay.addEventListener(TimerEvent.TIMER, showMessage);
myDelay.start();

function showMessage(event:TimerEvent):void{
    gotoAndPlay("anim1");
}
stop();

次に、ページanim1に次のように表示されます。

stop();

b4.addEventListener(MouseEvent.ROLL_OVER, b4_over);
b4.addEventListener(MouseEvent.CLICK, b4_clicked);
ma.addEventListener(MouseEvent.ROLL_OVER, ma_over);
ma.addEventListener(MouseEvent.CLICK, ma_clicked);
pt1.addEventListener(MouseEvent.MOUSE_OVER, pt1_over);
en.addEventListener(MouseEvent.MOUSE_OVER, en_over);

var myDelay2:Timer = new Timer(700,1);
myDelay2.addEventListener(TimerEvent.TIMER, showMessage2);
myDelay2.start();

function showMessage2(event:TimerEvent):void{
   gotoAndPlay("anim2");
}
stop();

そして、これはページ「anim19」まで続きます。問題は、これではクリックボタンがうまく機能せず(クリックしてから別のページに移動し、突然メインページに戻る)、ROLL_OVER効果で時間が少し奇妙になることです...わかりますか私のコードの何が問題になっていますか?

4

1 に答える 1

1

どうやら私は時間を開始していて、ここで終了していません。

myDelay.start();

したがって、すべての遅延には停止イベントが必要なので、関数 b4_over、b4_clicked、ma_over、ma_clicked、pt1_over、en_over を追加しました)

このような:

function b4_over(event:MouseEvent):void
{
    this.gotoAndStop("page2");
    myDelay.stop();
    myDelay.stop(); 
    myDelay2.stop();
    myDelay3.stop();
    myDelay4.stop();
    myDelay5.stop();
    myDelay6.stop();
    myDelay7.stop();
    myDelay9.stop();
    myDelay10.stop();
    myDelay11.stop();
    myDelay12.stop();
    myDelay13.stop();
    myDelay14.stop();
    myDelay15.stop();
    myDelay16.stop();
    myDelay17.stop();
    myDelay18.stop();
    myDelay19.stop();   
}

そして、すべてがうまく連携し始めました。

于 2012-12-02T17:52:16.357 に答える