プラットフォーム ゲームの作業中に問題が発生しました (もう一度 :D)。実際には解決策が見つかりませんでした..コードは次のとおりです。
Blocks.AddRange(this.Controls.OfType<PictureBox>());
if (Blocks.Any(x => x.Location.Y - Player.Height <= Player.Location.Y))
{
Player.Top = Height - ClosestBlock.Location.Y - Player.Height;
}
そして、どのブロックがプレイヤーの移動に最も近いかを検出する必要があります。何かアイデアがあれば教えてください、ありがとう!