我正在编写一个程序,该程序有一个球在 PictureBox 周围移动,并且在 PictureBox 的顶部有一组砖块。
我使用了一个数组来定位我将使用的砖块:
int[,] brickLocation = { { 0, 0 }, { 30, 0 } }
我已经使用 DrawRectangle 来构造图片框中的每一块砖。这存在于 timer1_Tick 事件中。随着球的绘制,图片框被清除,x 和 y 坐标发生变化。
当球与砖“碰撞”时,我想要砖消失的某种方式,因为它后面会有另一块砖。
[砖0]
[砖1]
目前,我的球和brick1之间的碰撞代码是:
if ((yBall > brickY) && (yBall < brickY + 25) && (xBall > brickX) && (xBall < brickX + 80))
{
yBallChange = -yBallChange;
}
其中 xBall, yBall 是球的 x 和 y 坐标,brickX 和brickY 是积木的坐标。
所以当球坐标在brick1 的范围内时,y 方向会改变。
有什么方法可以在没有大小的新位置重新绘制 [brick1] 以消除它,以便球和 [brick0] 之间发生碰撞?或者还有什么我可以做的吗?