タイマーと時間を表示する動的テキストフィールドがあります。ムービークリップが敵に当たるたびに、タイマーに4秒を追加してほしい。現在のカウントに。これが機能しない理由を知りたいのですが:
timer.currentCount + 4;
(何もしません)
timer.currentCount += 4;
(エラー:プロパティは読み取り専用です)
とにかく私は正しい方向にいますか、そして私は何を変えるべきですか?
タイマーと時間を表示する動的テキストフィールドがあります。ムービークリップが敵に当たるたびに、タイマーに4秒を追加してほしい。現在のカウントに。これが機能しない理由を知りたいのですが:
timer.currentCount + 4;
(何もしません)
timer.currentCount += 4;
(エラー:プロパティは読み取り専用です)
とにかく私は正しい方向にいますか、そして私は何を変えるべきですか?
他の回答で述べられているように、タイマーの経過時間を調整することはできません。実行できるのは、この変数に1を追加するvar elapsedTime:Number;
たびに呼び出す個別の変数を作成することです。timer
ヒットテストが発生したら、それに4を追加するだけです。
currentCount
varを使用して、もう使用する必要のない時間を「操作」しているためです。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);
}
プロパティcurrentCount
は読み取り専用です。タイマーの経過時間を変更する方法はありません。タイマーを変更する必要がある場合は、それを停止して、変更された間隔で新しいタイマーを作成できます。