学习Pygame
✕
建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供,如Python。pygame可以开发游戏,包含图像、声音。
pip install pygame
就是这么简单,然后我们可以在python3的终端环境下测试一下
import pygame
如果没有报错,那么恭喜你安装成功了。
pygame的 Hello World
导入pygame模块
import pygame
这里是一个游戏初始化的设置,他应该在游戏代码编写的最前边。
pygame.init()
SCREEN 定义了一个游戏的屏幕,后续游戏场景中的游戏对象,都要在这个screen上绘制。
SCREEN = pygame.display.set_mode((640, 480))
设置当前游戏窗口的标题
pygame.display.set_caption("Hello World!")
这里有个死循环,这是游戏的主要逻辑处理及场景渲染器,for循环是处理游戏中的事件触发,其中QUIT表示触发了游戏离开件事,然后调用pygame.quit()
函数。pygame.display.updae()
这个函数表示更新当前screen的画面。
while True:
# for循环是处理游戏中的事件触发
for event in pygame.event.get():
# 其中QUIT表示触发了游戏离开件事
if event.type == pygame.QUIT:
# 退出界面
pygame.quit()
# 看个人看法,加不加都行,就是调试的时候回报错误。。
os._exit(0)
# 表示更新当前screen的画面。
pygame.display.update()
其实也无所谓啦。
Traceback (most recent call last):
File "D:/mhwy/pygui/pygame/01_pygui.py", line 25, in <module>
main()
File "D:/mhwy/pygui/pygame/01_pygui.py", line 22, in main
pygame.display.update()
pygame.error: video system not initialized
全部代码:
import pygame
import os
def main():
# 初始化pygame中的模块
pygame.init()
# SCREEN 定义了一个游戏的屏幕,我觉得管它叫做画布更形象些,因为后续游戏场景中的游戏对象,都要在这个screen上绘制。
screen = pygame.display.set_mode((800, 600))
# 设置当前游戏窗口的标题
pygame.display.set_caption('学习pygame')
# 制造一个死循环
while True:
# for循环是处理游戏中的事件触发
for event in pygame.event.get():
# 其中QUIT表示触发了游戏离开件事
if event.type == pygame.QUIT:
# 退出界面
pygame.quit()
# 看个人看法,加不加都行,就是调试的时候回报错误。。
# os._exit(0)
# 表示更新当前screen的画面。
pygame.display.update()
if __name__ == "__main__":
main()