-1

タイマーと時間を表示する動的テキストフィールドがあります。ムービークリップが敵に当たるたびに、タイマーに4秒を追加してほしい。現在のカウントに。これが機能しない理由を知りたいのですが:

timer.currentCount + 4;

(何もしません)

timer.currentCount += 4;

(エラー:プロパティは読み取り専用です)

とにかく私は正しい方向にいますか、そして私は何を変えるべきですか?

4

2 に答える 2

2

他の回答で述べられているように、タイマーの経過時間を調整することはできません。実行できるのは、この変数に1を追加するvar elapsedTime:Number;たびに呼び出す個別の変数を作成することです。timerヒットテストが発生したら、それに4を追加するだけです。

currentCountvarを使用して、もう使用する必要のない時間を「操作」しているためです。elapsedTime更新機能で参照するだけで大​​丈夫です。

次のようになります。

var timer:Timer = new Timer(1000);
var elapsedTime:Number = 0;

timer.addEventListener(TimerEvent.TIMER, onTimerTick);

function onTimerTick(e:TimerEvent) : void
{
    elapsedTime++;
    updateTimerTxt();
}

function onHitTest() : void
{
    elapsedTime += 4;
    updateTimerTxt();
}

function updateTimerTxt() : void
{
    timertxt.text = String(elapsedTime);
}
于 2011-12-24T15:55:33.510 に答える
0

プロパティcurrentCountは読み取り専用です。タイマーの経過時間を変更する方法はありません。タイマーを変更する必要がある場合は、それを停止して、変更された間隔で新しいタイマーを作成できます。

于 2011-12-24T13:54:47.760 に答える