2
私は現在、「ブレークアウト」と同様のゲームを開発中です。問題は、ボールがブリックの端を乗り越えるたびにブリックを取り除くことも、ボールの方向を変えることもできないことです。あなたのコードを見てみると衝突機能が正常に動作しません
if (ball.Left > l.Left && (ball.Left + ball.Width) < l.Left-margin + l.Width)
{
if (ball.Top > l.Height && ball.Top < l.Top)
{
this.Controls.Remove(l);
ballDX *= -1;
ballDY *= -1;
}
else if (ball.Top < l.Height && ball.Top > l.Bottom)
{
this.Controls.Remove(l);
ballDX *= +1;
ballDY *= +1;
}
}
ボールの位置とコントロールの大きさ(高さ)を比較しています。おそらく最初の場所ではないでしょう。 – decPL