pygame开发游戏的主要流程

转载注明链接:https://www.cnblogs.com/liquancai/p/13227839.html

pygame开发游戏的主要流程

pygame开发游戏的基础是创建游戏窗口,核心是处理事件、更新游戏状态和在屏幕上绘制图形。游戏状态可以理解为程序中所有变量值的列表。在有些游戏中,游戏状态包括存放人物健康个位置的变量、物体或图形位置的变化,这些值可以在屏幕上表示。

物体或图形位置的变化只有通过在屏幕上绘图才可以看出来。

可以简单的抽象出pygame开发游戏的主要流程如下:

image-20200702225938129

下面举一个具体例子来说明:

使用 pygame 开发一个显示 “Hello World!”标题的窗口

import pygame

def hello_world():
    pygame.init()
    pygame.display.set_mode((400, 600))
    pygame.display.set_caption("Hello World!")
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()
        pygame.display.update()


if __name__ == '__main__':
    hello_world()

运行后仅见到黑色的游戏窗口,标题是“Hello World!”,如下所示:

image-20200702231051363

在导入pygame模块后,任何pygame游戏程序均需要执行 pygame.init() 语句进行模块的初始化,它必须在进入游戏的无限循环之前被调用。这个函数会自动初始化其他所有模块(例如 pygame.font 和 pygame.image),通过它载入驱动和硬件请求,这样游戏程序才可以使用计算机上的所有设备,比较费时间。如果只使用少量的模块,应该分别初始化这些模块以节省时间,例如 pygame.sound.init() 仅仅初始化声音模块。

该代码中有个无限循环,每个 pygame 程序都需要它,在无限循环中可以做以下操作。

  1. 处理事件:例如鼠标 、键盘 、关闭窗口等事件。
  2. 更新游戏状态:例如坦克的位置变化 、数量变化等。
  3. 在屏幕上绘图:例如绘制新的敌方坦克等。

不断重复上面3个步骤,从而完成游戏逻辑。

在本例代码中仅仅处理关闭窗口事件,也就是玩家关闭窗口时 pyagme.quit() 退出游戏。

原文地址:https://www.cnblogs.com/liquancai/p/13227839.html