pygame小游戏飞机大战_6敌人开火
引入敌人子弹:算出敌人子弹出射点并在敌人出射点绘制子弹
# 引入敌人子弹的类
class EnemyBullet(object):
def __init__(self, screen, x, y):
# 定义坐标
self.x = x + 29 - 2
self.y = y + 43
# 引入子弹图片
self.image = pygame.image.load("./images/bullet2.png")
# 显示窗口
self.screen = screen
# 定义速度
self.speed = 4
# 定义显示子弹的方法
def display(self):
# 显示子弹到窗口
self.screen.blit(self.image, (self.x, self.y))
# 定义移动子弹的方法
def auto_move(self):
# 修改子弹y坐标使子弹飞起来
self.y += self.speed在敌人类中引入子弹存入列表中并进行循环实现发射:
# 引入敌方飞机的类class Enemy(object): # 创建玩家的方法,引入screen模块 def __init__(self, screen): # 引入图片创建敌人 self.enemy = pygame.image.load("./images/enemy1.png")# 51*43 # 设置速度变量 self.speed = 5 self.x = 0 self.y = 0 # 使screen变为飞机类的一个属性 self.screen = screen # 定义装子弹的列表 self.bullets = [] def display(self): # 绘制敌人 self.screen.blit(self.enemy, (self.x, self.y)) # 遍历所有子弹 for bullet in self.bullets: # 引入让子弹飞起来的方法 bullet.auto_move() # 显示子弹 bullet.display() # 定义移动飞机的方法 def auto_move(self): # 将direction改为全局变量 global direction # 判断方向进行移动 if direction == "right": self.x += self.speed if direction == "left": self.x -= self.speed # 定义碰壁时调整移动方向 if self.x >= 480 - 51: direction = "left" if self.x = 480 - 51: direction = "left" if self.x = 480 - 51: direction = "left" if self.x
页:
[1]