我正在尝试为C#中的突破制作副本。我的工作几乎完成了,但是我发现工作有误。
游戏的基础是:球需要两次击打砖块才能摧毁它。
有一个问题:有时候我的球撞到角落的砖头并立即将其摧毁(砖头未被触碰)。有解决问题的建议吗?
我将在球和砖块碰撞的地方附加一个视频和代码。
球,砖= pictureBox
我的问题已说明:https://youtu.be/73iaDUxo4AE
if (pt.Y < 0 || ball1.Bounds.IntersectsWith(Player.Bounds))
bally = -bally;
foreach(Control x in this.Controls)
{
if (x is PictureBox && x.Tag == "block")
{
if (ball1.Bounds.IntersectsWith(x.Bounds))
{
x.Tag = "Hit";
Image myimage = new Bitmap("blue_block.png");
x.BackgroundImage = myimage;
x.BackgroundImageLayout = ImageLayout.Stretch;
bally = -bally;
}
}
else
{
if (x is PictureBox && x.Tag == "Hit")
if (ball1.Bounds.IntersectsWith(x.Bounds))
{
score = score + 1;
bally = -bally;
this.Controls.Remove(x);
if(score<=5)
speed = speed + 1;
}
}
}
非常感谢,我希望我足够具体。祝你有美好的一天!