首页 > 代码库 > 开发一款2D游戏(主体框架)
开发一款2D游戏(主体框架)
《外星人入侵》
通过pygame,入门python的2D游戏开发过程,通过教材制作一个打外星人游戏。
1、函数 run_game()
import sys
import pygame
def run_game():
#初始化游戏,并创建一个屏幕对象
pygame.init()
screen = pygame.display.set_mode((1200, 800))
pygame.display.set_caption("Alien Invasion")
#开始游戏的主循环
while True:
#监视键盘、鼠标的操作
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
#让屏幕可视化
pygame.display.flip()
run_game()
这段函数导入了2个模块,sys 、pygame。模块pygame包含了开发游戏所需要的功能,玩家退出时需要使用模块sys来进退出。
pygame.init()进背景初始化,让pygame可以正确的工作。在这里使用pygame.display.set_mode()来创建一个名为screen的显示窗口。
元组(1200,800)指定了游戏窗口的大小。
这个游戏的主体,由一个while循环控制,这个while循环包含了一个循环事件以及管理屏幕更新的代码。
事件是用户玩游戏时执行的操作,如 按键,移动鼠标。为让程序响应事件,我们编写了一个事件循环,以侦听事件,并根据发生的事件执行
响应的任务。这里的for循环就是完成这个工作。
例如:
玩家点击游戏窗口的关闭按钮时,将检测到pygame.QUIT事件,进而程序将调用sys.exit()来退出游戏。
pygame.display.flip()的功能是让pygame最近绘制的屏幕课间,在这里它每次执行while循环时都会绘制一个空屏幕,并擦去旧屏幕,使得只有
新屏幕课间。在我们移动游戏元素时,pygame.display.flip()将不断更新屏幕,以显示元素的新位置。
在最后一行,调用了run_game(),这将初始化游戏并开始主循环,此时运行代码就会看到一个空的pygame窗口。
开发一款2D游戏(主体框架)