python大牛学习之路(每天10分钟python进阶14)

首先明确学习目标,今天的目标是继续python中实例开发项目--飞机大战,接下来我们就来聊聊关于python大牛学习之路?以下内容大家不妨参考一二希望能帮到您!

python大牛学习之路(每天10分钟python进阶14)

python大牛学习之路

首先明确学习目标,今天的目标是继续python中实例开发项目--飞机大战

今天任务进行面向对象版的飞机大战开发--代码优化(创建精灵组)

  目标:优化战斗机代码

1,优化init方法

def __init__(self, screen): # 这个精灵的初始化方法 必须调用 pygame.sprite.Sprite.__init__(self) # 4.创建敌机图片,当做真正的飞机 self.image = pygame.image.load("/home/yeren/桌面/项目开发/images/enemy-2.gif") # 根据图片image获取矩形对象 self.rect = self.image.get_rect() # rect:矩形 self.rect.topleft = [0, 0] # 飞机速度 self.speed = 10 # 记录当前的窗口对象 self.screen = screen # 装子弹的列表 self.bullets = pygame.sprite.Group() # 敌机移动方向 self.direction = 'right'

2,优化display方法

def display(self): # 5将飞机图片贴到窗口中 self.screen.blit(self.image, self.rect) # 更新子弹坐标 self.bullets.update() # 把所有子弹全部添加到屏幕 self.bullets.draw(self.screen)

3,优化auto_move方法

def auto_move(self): if self.direction == 'right': self.rect.right = self.speed elif self.direction == 'left': self.rect.right -= self.speed if self.rect.right > 480 - 51: self.direction = 'left' elif self.rect.right < 0: self.direction = 'right'

4,优化auto_fire方法

def auto_fire(self): """自动开火 创建子弹对象 添加进列表""" """自动开火 创建子弹对象 添加进列表""" random_num = random.randint(1, 10) if random_num == 8: bullet = EnemyBullet(self.screen, self.rect.left, self.rect.top) self.bullets.add(bullet)

5,添加update方法

def update(self): self.auto_move() self.auto_fire() self.display()

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页