如何使用多个条件进行正确的循环

时间:2014-04-25 05:58:43

标签: python

我正在制作一款游戏并且关键时刻“关键时刻”。它将角色(自我)向下移动..

在下面的代码中,我想要做的是当检测到碰撞时重新命令小部件,具体取决于碰撞是否从底部走进建筑物(在这种情况下,角色将在其前面可见)或从顶部(建筑物将在角色前面可见)

问题是下面的代码是删除和读取构建小部件。我已经用这个陈述修改了大约一个小时,无论我做什么,第一个if语句总是正确的,即使我改变了>的方向。到<,它仍然是真的。 我在这做错了什么?我希望这只是我的for循环中与建筑物高度有关的一个简单错误。

elif keycode[1] == 'down':

如果角色向下走并与建筑物重叠,请将建筑物放置在角色

前面
    if any(self.collide_widget(i) and self.y>(i.y+i.height) for i in listofwidgets):
        gamelayout.remove_widget(building)
        gamelayout.add_widget(building)

如果角色已经走上并与建筑物相撞,走下去应该移除并重新添加英雄小部件,使其保持在建筑物前面。

    elif any(self.collide_widget(i) and self.y<(i.y+i.height) for i in listofwidgets):
        gamelayout.remove_widget(hero)
        gamelayout.add_widget(hero)

0 个答案:

没有答案