试图通过pygame精灵组正确迭代
问题描述:
因此,我正在为学校构建一个简单的无限运行游戏,并且我试图产生障碍。我试图检查每个障碍精灵,如果它已经离开屏幕(背景和障碍物从右向左移动)。如果它已经离开屏幕,我想删除精灵并在屏幕的右侧设置另一个精灵。但每当屏障左侧出现障碍时,就会产生无数的障碍物。一般来说,我对pygame和python是新手。任何帮助将不胜感激。提前致谢。试图通过pygame精灵组正确迭代
def obstacle_off_screen(self):
numDeleted = 0
for cur_sprite in self.all_objects_list:
print("first loop")
if cur_sprite.rect.x < 0:
print("second")
cur_sprite.kill
numDeleted += 1
while numDeleted != 0:
print("third")
self.add_obstacle()
numDeleted -= 1
def add_obstacle(self):
#add parameters
if self.get_Speed() == 15:
x = 1000
y = 400
elif self.get_Speed() == 20:
x = 1000
y = 400
elif self.get_Speed() == 25:
x = 1000
y = 400
elif self.get_Speed() == 30:
x = 1000
y = 400
self.all_objects_list.add(Obstacle('src/paw.gif', [x, y]))
现在,我只有我一开始产卵
答
cur_sprite.kill
是功能的一个障碍,所以当你想将它用()
,像cur_sprite.kill()
。
这就是你的问题。屏幕外的障碍物不会从他们的精灵群体中移除。
哇,非常感谢。完美的作品。非常愚蠢的错误。 –