您能否解释一下,以便白痴可以理解,这种碰撞检测如何用于2D破砖游戏?我无法想象它的工作原理。有一个桨拍击中了球,球打破了砖头,此代码中的碰撞检测是针对球从墙壁上弹起的。
if(x + dx > canvas.width-ballRadius || x + dx < ballRadius) {
dx = -dx;
}
if(y + dy > canvas.height-ballRadius || y + dy < ballRadius) {
dy = -dy;
}
感谢您的帮助。
答案 0 :(得分:0)
如果下一个位置(currentPosition(x|y
)+方向(dx|dy
)大于可用空间(所有空间减去球的半径),或者小于球的半径,则反转方向。
在第一种情况下,我们在右侧或底部的位置过多,在第二种情况下,我们在左侧或顶部的位置过多。
因此,下一个x += dx
或y += dy
实际上会向后退,并且永远不会撞墙。
顺便说一句,为了获得真实的打击,您想要了解弹入墙壁的程度,以便在弹跳后获得正确的位置。
答案 1 :(得分:0)
两个if语句都相同,所以我只解释第一个。
month = input("What month are you drawing for? ")
year = input("What year are you drawing for? ")
import pandas
df = pandas.read_csv('month year'.csv)
与
相同if(x + dx > canvas.width-ballRadius || x + dx < ballRadius) {
dx = -dx;
}