【发布时间】:2023-02-08 01:42:14
【问题描述】:
我在构建我的应用程序时遇到了 pygame 库的问题。
我的部分代码如下:在类的开头在里面方法 我创造了我的敌人。
self.create_enemy
然后,那个方法是这样的
def create_enemy(self):
self.available_space_x = 10
for enemy_number in range(self.sets.enemy_number):
self.enemy = Enemy(self)
self.available_space_x += 150
self.enemy.x = self.available_space_x
self.enemy.rect.x = self.enemy.x
self.enemys.add(self.enemy)
这个方法的作用是在不同的地方创建了5个敌人,然后把它加入到我的敌人组中。
接下来,部分主要方法如下:
self.enemys.draw(self.screen)
self.checkenemymove()
self.update_enemys()
也就是说,它创建了我的敌人,然后执行这个函数:
def checkenemymove(self):
if self.human.human_rect.x >= self.enemy.rect.x:
self.goenemleft = False
self.goenemright = True
elif self.human.human_rect.x < self.enemy.rect.x:
self.goenemright = False
self.goenemleft = True
如果玩家在敌人前面(玩家一侧),此方法会使敌人向右移动,或者如果玩家在敌人后面,则敌人会向左移动。
最后这个方法被执行:
def update_enemys(self):
if self.goenemright:
self.enemy.image = self.enemy.enemy_images[0]
self.enemy.x += self.sets.enemy_speed
self.enemy.rect.x = self.enemy.x
if self.goenemleft:
self.enemy.image = self.enemy.enemy_images[1]
self.enemy.x -= self.sets.enemy_speed
self.enemy.rect.x = self.enemy.x
问题是,如果我运行程序,只有最后一个敌人会这样做,而且玩家走到哪里,敌人也会朝那个方向移动。
请帮助我,谢谢。
我想让敌人朝我走来,但只有一个敌人朝我走来。
【问题讨论】:
标签: python-3.x pygame