3

XNAを使用してモバイルゲームを開発しており、タップするたびに状態が変わるオンとオフのスイッチがあります。私の問題は、1 回のタップですばやく何度も変化することです。どうすればこれを止めることができますか?

4

3 に答える 3

2

ゲーム内スイッチが最後に使用された時間を保存し、経過した時間を計算します

if(buttonPressed && (Datetime.Now - timeLastInGameSwitchActivated).Milliseconds > 1000)
{
    ToggleIngameSwitch();
    timeLastInGameSwitchActivated = Datetime.Now;
}
于 2012-11-30T08:50:17.327 に答える
1

ボタンの最後の状態を確認する前の値変数を追加します。現在の状態と異なる場合は、目的のコードを実行します ButtonState prev = state

if(currentstate != prev)
{
dothis
}
于 2012-11-30T08:05:21.123 に答える
0

私はこの単純なテクニックを使って「遅延」の問題に対処しています。

float elapsed = (float)gameTime.ElapsedGameTime.Milliseconds;
timeCounter += elapsed;

if (timeCounter > yourMinimumDelayTime)
{
   //your code here
   timeCounter = 0;                     
}
于 2012-12-01T04:26:05.450 に答える