我正在制作一款游戏并且关键时刻“关键时刻”。它将角色(自我)向下移动..
在下面的代码中,我想要做的是当检测到碰撞时重新命令小部件,具体取决于碰撞是否从底部走进建筑物(在这种情况下,角色将在其前面可见)或从顶部(建筑物将在角色前面可见)
问题是下面的代码是删除和读取构建小部件。我已经用这个陈述修改了大约一个小时,无论我做什么,第一个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)