如何检查哪个对象我的性格与碰撞?(How to check which object my char

2019-10-19 16:58发布

我工作的碰撞检测的游戏,所以如果字符运行到他们停止移动的对象。 至于我的这个解决方案的一部分,我已经通过屏幕上的对象,检查碰撞的列表迭代两种功能。

第一个函数(on_key_up)检查时,方向键被按下,然后碰撞时停止人物移动真。

这第二部分是另一个函数(on_key_up)稍微移动人物碰撞出区的,所以他可以自由地再次移动。 这是松开方向键时触发。

问题是,我需要访问的高度,取其对象的字符与,所以我想知道如果有一种方法可以做到这一点碰撞的宽度属性。

我贴的是我没有,所以你可以看到我试图去的方向的一个片段。

我做了什么错在这里?

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

Answer 1:

我想你需要简单的改变:

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]如果它不只是一个错字)



Answer 2:

listofwidgets(i)是要与碰撞对象,所以无论是存储插件,或i在供以后使用的变量。



文章来源: How to check which object my character is colliding with?