0

フラッシュ 8 でフラッシュ ゲームをテストするたびに、タイマーが自動的に開始されます。レース ゲームに入る前に、既にゲームにメニューを提供しています。タイマーはメニュー フレームで開始されます。タイマー スクリプトを含むスクリプト) および 3 番目のフレームはゲーム オーバー メニュー用であり、動的テキストも使用しており、var 名は _root.totaltime です。問題は、タイマーが停止しないことです。私のタイマーは、最後に出発した開始時間をリセットしていません....ここに私の車のアクションスクリプトがあります:

onClipEvent(load) 
{
speed = 0;
acceleration = 0.4;
speedDecay = 0.96;
maxSpeed = 10;
backSpeed = 1;
lap = 1;
totallaps = 4;
var fulllap:Boolean = false;
}

onClipEvent(enterFrame) {
    if(Math.abs(speed) > 0.3) { 
        speed *= speedDecay;
    }else {
        speed = 0;
    }
    if(Key.isDown(Key.UP)) {
        if (Math.abs(speed) >= maxspeed) {
            speed += acceleration;
            }
        }
    if(Key.isDown(Key.DOWN)) {
        if(speed < 0.5) 
        speed = -2;
        else
        speed--;
    }
        if (Math.abs(speed)> 0.5) {
        if (Key.isDown(Key.LEFT)) {
            _rotation -= 10;
         }
         if (Key.isDown(Key.RIGHT)) {
            _rotation += 10;
            }
        }
       x = Math.sin(_rotation*(Math.PI/180))*speed;
       y = Math.cos(_rotation*(Math.PI/180))*speed*-1;

       if (!_root.ground.hitTest(_x+x, _y+y, true)) {
       _x += x;
       _y += y;
       }else {
        speed -= speed*1.5;   
       }
}

onClipEvent(enterFrame) {
    if (_root.checkpoint1.hitTest(this)) {
        if(fulllap){
            if(lap >= totallaps)
                ++lap;
            fulllap = false;

        }   
    }
    if (_root.checkpoint2.hitTest(this)) {
        fulllap = true;
    }
    _root.currentlap = lap + "/" + totallaps;

    seconds = Math.floor(getTimer()/1000);
    minutes = Math.floor(seconds/60);
    tens = Math.round((getTimer()-seconds*1000)/10);

    if(minutes < 10) {
        minutes = "0" + minutes;
    }
    if (seconds < 10) {
        seconds = "0" + seconds;
    }
    if (tens < 10 ) {
        tens = "0" + tens;
    }

    _root.totaltime = minutes + "." + seconds + "." + tens;
    _root.totaltime.stop();
if(Key.isDown(Key.ENTER)) 
{
    _root.totaltime.start();
}
    }

タイマーはリセットされません。ゲームオーバーになってもタイマーは継続します。

4

1 に答える 1

0

ActionScript 2 を使用していると思いますか? 私が見る限り、タイマーを停止するスクリプトは問題なく動作しています。ただし、スクリプトが行うのはタイマーの停止だけです。実際にリセットしているわけではありません。

于 2013-10-14T23:10:59.567 に答える