私はブロックと溶岩とキャラクターを持っているこのプラットフォーマーのゲームを持っています。私は13歳であり、C#で経験が豊富ではないことを覚えておいてください(私はC#と.NETを約8ヶ月使っています)。これはブロックを検出するためのコードです:プラットフォームゲーム:キャラクターがあまりにも速く落ちる
bool onGround = false
const int G = 5;
foreach (Block block in blocks)
{
while (!(characterRectangle.Intersects(block.Rectangle)))
{
location.Y += G;
break;
}
onGround = characterRectangle.Intersects(block.Rectangle);
}
問題がありますか?キャラクターが速すぎます。より多くのブロックがあるほど、速く落ちます。さて、私はこれがforeachループのためであることを知っていますが、これに対する解決策は何ですか。
おそらく 'if(!blocks.Any(block => characterRectangle.Intersects(block.Rectangle)))'? –