Python 如何检查我的角色与哪个对象碰撞?
我正在为一个游戏进行碰撞检测,这样当角色遇到物体时,他们就会停止移动。作为解决方案的一部分,我创建了两个函数,它们遍历屏幕上的对象列表以检查冲突 第一个功能(on_key_up)在按住方向键时检查碰撞,然后在为True时停止字符移动 第二部分是另一个函数(按_键_向上),它将角色稍微移出碰撞区域,以便他可以再次自由移动。这在释放方向键时触发 问题是,我需要访问角色碰撞的任何对象的高度和宽度属性,因此我想知道是否有办法做到这一点 我发布了一段我所做的事情,这样你就可以看到我努力的方向 我做错了什么Python 如何检查我的角色与哪个对象碰撞?,python,collision-detection,Python,Collision Detection,我正在为一个游戏进行碰撞检测,这样当角色遇到物体时,他们就会停止移动。作为解决方案的一部分,我创建了两个函数,它们遍历屏幕上的对象列表以检查冲突 第一个功能(on_key_up)在按住方向键时检查碰撞,然后在为True时停止字符移动 第二部分是另一个函数(按_键_向上),它将角色稍微移出碰撞区域,以便他可以再次自由移动。这在释放方向键时触发 问题是,我需要访问角色碰撞的任何对象的高度和宽度属性,因此我想知道是否有办法做到这一点 我发布了一段我所做的事情,这样你就可以看到我努力的方向 我做错了什么
def on_keyboard_up(self, keyboard, keycode):
if keycode[1] == 'left':
self.source = 'selectionscreen/faceleft.png'
for i in listofwidgets:
if self.collide_widget(i):
self.x = ((listofwidgets(i).x + listofwidgets(i).width + .1)-self.x) + self.x
listofwidgets(i)
是您正在碰撞的对象,因此请将该小部件或i
存储在一个变量中,以备以后使用 我认为你只需要改变一下:
self.x=((listofwidgets(i).x+listofwidgets(i).width+.1)-self.x)+self.x
致:
self.x=(i.x+i.width+.1)-self.x)+self.x
另外,
listofwidgets(i)
将是一个函数调用,它可能应该是listofwidgets[i]
(如果它不仅仅是一个输入错误)小部件就是您正在碰撞的对象?i的属性是什么?