1

我正在编写一个程序,该程序有一个球在 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] 之间发生碰撞?或者还有什么我可以做的吗?

4

0 回答 0