gpt4 book ai didi

c# - 碰撞功能无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:49 24 4
gpt4 key购买 nike

我目前正在开发一款与“Breakout”类似的游戏。我遇到的问题是,每当球越过砖 block 的边缘时,它既不会移除砖 block 也不会改变球的方向。

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;
}
}

最佳答案

看你的代码,你在测试

if (ball.Top > l.Height && ball.Top < l.Top)

但这似乎是在检查球的顶部是否大于砖的高度,而不是检查砖的位置。那里可能有问题吗?

如果这不是问题,我的建议是添加一些调试代码来输出球和砖 block 位置和高度的值,这样您就可以了解您的计算出了什么问题。

关于c# - 碰撞功能无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37440609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com