私のゲームでは、毎秒フレームを無制限にしています。フレームレートを無制限にしたあと、スプライトの動きが速すぎる
graphics.SynchronizeWithVerticalRetrace = false;
IsFixedTimeStep = false;
しかし、私のスプライト/プレイヤーは以前より速く動いています。なぜそれがこれを行うのか分からないし、それを修正する方法がわからない。
if (keyboard.IsKeyDown(Keys.W) || keyboard.IsKeyDown(Keys.Up))
{
position.Y -= spd;
}
if (keyboard.IsKeyDown(Keys.A) || keyboard.IsKeyDown(Keys.Left))
{
position.X -= spd;
}
if (keyboard.IsKeyDown(Keys.S) || keyboard.IsKeyDown(Keys.Down))
{
position.Y += spd;
}
if (keyboard.IsKeyDown(Keys.D) || keyboard.IsKeyDown(Keys.Right))
{
position.X += spd;
}
これは現在、どのようにスプライトを動かすかです。現在はspd = 4
です。それは完全に正常に機能しましたが、今は2000倍も速く動いているようです。キーの1つをタップするだけで、彼は画面から離れる。
何かすべてのヘルプは高く評価されます。
フレームレート独立コード – bkconrad
@bkconradを書く魅力的な理由:OPが一度も試みたことがない、おそらく概念を聞いたことがないことは明らかです。 –
-1このようなことを尋ねる前に、基本的なチュートリアルを完了して理解してください。また、簡単な検索で回答とその他の追加情報が提供されていました。 – Elideb