我们这个章节学习使用pygame开发游戏。平时我们玩儿过很多游戏,这次我们来开发一个自己的游戏,是不是很酷?赶紧开始吧!
pygame 是什么
首先,我们还是先写一个Helloworld,看一下怎么pygame是什么。
import pygame, sys from pygame.locals import * pygame.init() DISPLAYSURF = pygame.display.set_mode((400, 300)) pygame.display.set_caption('Hello World!') while True: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() pygame.display.update()
引入pygame
import pygame, sys from pygame.locals import *
我吗使用import语句将 pygame引入进来,pygame.locals定义了很多pygame需要使用的数据常量,因此,我们也把它引入进来。
初始化
我们调用pygame.init()
完成pygame的加载,这个方法初始化了pygame用到的所有模块。在写游戏逻辑之前,一定要调用init方法,否则会报pygame.error: font not initialized
的错误。
我们使用pygame.display.set_mode((400, 300))
方法设置游戏窗口的宽高,注意我们传入(400, 300)
参数是一个元组;调用pygame.display.set_caption('Hello World!')
方法设置游戏窗口的标题。
游戏主循环
接下来,我们使用了一个特殊的while True:
循环。因为循环条件永远为True,所以程序会一遍又一遍的执行循环体里的代码。这个是游戏的主循环,我们一般会在这个循环里完成游戏的主要逻辑操作:
-
处理游戏事件。
-
更新游戏状态。
-
将游戏状态画到游戏窗口上。
游戏状态
那什么是游戏状态呢?英雄血量、子弹数量、敌人等级 这些数字会随着游戏的推进发生变化,这些都是游戏状态。我们根据用户在游戏上操作来更改这些状态。当这些状态发生变更后,我们需要调用pygame.display.update()
方法更新游戏画面。
事件监听
pygame.event.get()
方法获取了用户在游戏窗口上的所有操作,比如按钮点击、键盘按下等。因此,这个方法返回的是一个列表。我们使用for循环还取到每一事件,对事件作出响应。
退出游戏
if event.type == QUIT:
在下面的if语句里,我们判断如果事件类型是QUIT,我们就调用pygame.quit()
方法退出游戏。同时结束游戏的运行。
阿达老师-孩子身边的编程专家
完整课程请关注阿达老师,主页里有完整的课程目录和观看地址
网友评论