16 飞机大战:思路整理、重要代码

思路整理

重要代码

0.重写方法万万检查记得要不要继承父类方法

def __init__(self):
    super().__init__()

  

1.创建游戏时钟:用来设置游戏刷新率

# 新建游戏时钟对象
self.clock = pygame.time.Clock()
... ...
# 设置游戏刷新率
self.clock.tick(60) #60帧/s

  

2.精灵组

# 创建xx精灵
self.xx = Xx() #其中Xx是Xx类
# 创建xx精灵组
self.xx_group = pygame.sprite.Group(xx) #括号中表示添加xx精灵进组

  

3.加载精灵的图片及新建精灵的矩形框

# 初始化精灵图片
self.image = pygame.image.load(image_name) #image_name为图片的路径字符串 self.image属性不能改成其它名字!!!
# 初始化精灵矩形框
self.rect = self.image.get_rect()

  

4. 创建游戏窗口

# 游戏窗口矩形框常量
SCREEN.RECT = pygame.Rect(x,y,width.height)
# 创建游戏窗口对象
self.screen = pygame.display.set_mode(SCREEN.RECT.size) #或者直接写分辨率元组也行

  

5.刷新游戏显示

# 游戏循环中最重要也是最后一步:刷新游戏屏幕显示
pygame.display.update()

  

6.退出游戏指令

# 当监听器监听到退出游戏的事件,执行退出游戏指令
exit()

  

7.背景循环滚动

#bg1,bg2两张图,在Backgroud类中的init设置参数is_sec=false
self.bg2 = Background(True)
... ...
if is_sec:
    self.rect.bottom = 0
#在Background的upgdate方法中
if self.rect.y>屏幕最大y值
    self.rect.bottom = 0

  

猜你喜欢

转载自www.cnblogs.com/scopicat/p/11746162.html
16