游戏开发在软件开发领域占据了非常重要的位直。游
戏开发需要用到的技术相当广泛,除了多媒体、图片、动
画的处理外,程序设计更是游戏开发的核心内容。
Py game 是为了让 Python 能够进行游戏开发而发展出
来的包,通过它, Python 可以实现对音效、音乐、图片、
动画的控制,可以说这是一个功能强大而完整的包。
Pygame 是专门为游戏开发而推出的 Python 包,它是从 Simple Directmedia Layer
CS DL) 延伸而来的。 SDL 与 DirectX 类似,都可通过简练的方式来实现对声音、图
片或视频的控制,井大幅简化了程序代码,使游戏开发工作更为容易 。
Pygame 的基本架构 在开发 Pygame 程序之前,我们首先要导入 Pygame 包,语法为: import pygame 然后对 Pygame 进行初始化(启动),语法为: pygame.init() 接着再创建绘图窗口作为图形显示区域,语法为:
例如,创建一个宽 640 、高 320 的绘图窗口,井保存至 screen 变量 :
Py game 包的 disp lay.set_caption 方法可设置窗口标题,例如:
通常情况下, 图形并不是直接画在绘图窗口中,而是在绘图窗口创建一块与绘图窗口同样大小的画布,然后将图形画在画布上 。 创建画布的语法为:
Surface 方法可创建画布, screen.get_size ()方法可取得绘图窗口大小,因此画布
会填满绘图窗口 。 画布变量的 convert 方法可为画布创建一个副本,加快画布在绘图
窗口的显示速度。例如创建 background 画布变量 :
画布变量的 fill 方法的功能是为画布填充指定颜色。例如设定画布为红色 :
创建画布后井不会在绘图窗口中显示,需以窗口变量 的 bl it 方法绘制于窗口中,
语法为:
例如,把 background 画布从绘图窗口左上角(0,0)开始绘制,覆盖整个窗口:
最后更新绘图窗口,才能显示绘制的图形,语法为:
import pygame pygame.init() #启动Pygame screen = pygame.display.set_mode((640, 320)) #建立绘图窗口 pygame.display.set_caption("基本架构") #绘图窗口标题 background = pygame.Surface(screen.get_size()) #建立画布 background = background.convert() background.fill((255,255,255)) #画布为白色 screen.blit(background, (0,0)) #在绘图窗口绘制画布 pygame.display.update() #更新绘图窗口 running = True while running: #创建循环来侦测鼠标事件 for event in pygame.event.get(): if event.type == pygame.QUIT: #用户单击关闭按钮 running = False pygame.quit() #关闭绘图窗口