📜  在调用 display.update() 之前,不会实施游戏中的更改.由于游戏是不断变化的数值,所以更新函数在游戏循环中,不断更新. (1)

📅  最后修改于: 2023-12-03 15:37:47.022000             🧑  作者: Mango

游戏更新与 display.update()

概述

在 Pygame 中,更新游戏界面需要使用 display.update() 函数。但是,在调用此函数之前,游戏界面中的任何更改都不会得到实施。因为游戏是动态变化的,所以我们需要在游戏循环中不断调用 display.update() 函数来更新游戏界面。

游戏循环

游戏循环是指通过循环不断刷新更新游戏状态的机制。Pygame 中的游戏循环通常如下:

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
            
    # 游戏逻辑更新
    # 更改游戏界面
    
    pygame.display.update()

在游戏循环中,不断循环调用 pygame.event.get() 获取到游戏事件,每次获取到事件之后都需要进行处理。同时,在游戏循环中还需要更新游戏状态,这里我们可以根据实际情况进行编写。

display.update()

在游戏逻辑更新之后,我们需要通过调用 display.update() 函数来更新游戏界面。display.update() 函数有两种用法:

  • 调用函数不带参数时,将更新所有内容。
  • 调用函数带参数时,只更新 Rect 对象指定区域中的内容。

例如,我们可以在游戏循环中使用以下代码来更新游戏界面:

pygame.display.update()
总结

游戏状态的更新和游戏界面的更新是游戏程序的两个核心部分。通过游戏循环可以实现不断地更新游戏状态和界面,而 display.update() 函数则是更新游戏界面的重要工具。