0

私はゲームを作成しており、時間に基づく単純なポイント システムを使用しています。このシステムではstart、レベルの開始時に呼び出される変数に日付が格納され (複数のレベルがあります)、レベルが終了すると、別の日付が格納されます。という変数stop。次に、経過時間が という変数で計算されますelapsed。最後に、ポイントは という名前の最終変数に表示されますpoints。開始値は 300000 で、ミリ秒ごとに減少し、5 分後にゼロになります (短いレベルです)。私の唯一の問題は、レベルが終了してポイントが表示されると、ポイントが減少し続けることです。以前にも同様の問題に直面したことがありますが、通常は値が小さいため、常に回避策を見つけているようです。関連するコードは次のとおりです。
start = new Date().getTime();
stop = new Date().getTime();
elapsed = stop - start;
points = 300000 - elapsed;

すべての変数はグローバルに宣言されていました。pointsある意味では、変数は 1 秒間に 1000 回更新されるため、期待どおりです。それで、それが減少するのを止める方法はありますか?前もって感謝します。

4

1 に答える 1

0

新しい位置を割り当てる前に、値を確認してください。

prefixを使用global varして使用する必要があります。windowwindow.points

start = new Date().getTime();
stop = new Date().getTime();
var elapsed = stop - start;
if(elapsed < 300000)
    points = 300000 - elapsed;
于 2013-02-09T20:21:42.087 に答える