我已经开始使用python 3.2.2在pygame中制作游戏 我有一个标题屏幕,其中有一个新的游戏按钮,当按下空格背景时会出现一个UFO,您可以使用箭头键控制 但是我的UFO可以在各个方向离开屏幕,我想让它停在屏幕边缘。我希望它能在将来出现在游戏中的每个未来屏幕上执行此操作。
我不知道这样做的原则......它应该放在代码中。我读了一些关于矩形的东西。我需要定义一个矩形然后获取ufo来检测这个矩形并在检测到矩形时停止
任何帮助表示赞赏
我非常擅长处理工作,所以我们会欣赏正确的方向。
感谢
答案 0 :(得分:0)
您需要的是碰撞检测。以下是python中的一些示例AABB碰撞检测代码:
def collide(A_top, A_bot, A_left, A_right, B_top, B_bot, B_left, B_right):
if B_left < A_right and B_top < A_bot and B_right > A_left and B_bot > A_top:
return True #IS colliding
return False #IS NOT colliding
现在只是碰到屏幕边框或屏幕上恰好出现的任何其他内容。
其他解决方案:
请按以下方式检查:
if ufo.x < 0 or ufo.y < 0 or ufo.x + ufo.width > screen.width or ufo.y + ufo.height > screen.height:
#Do collide code