从0开始学python第14.1节-pygame开发游戏

2018-09-29  本文已影响0人  阿达老师

我们这个章节学习使用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,所以程序会一遍又一遍的执行循环体里的代码。这个是游戏的主循环,我们一般会在这个循环里完成游戏的主要逻辑操作:

  1. 处理游戏事件。

  2. 更新游戏状态。

  3. 将游戏状态画到游戏窗口上。

游戏状态

那什么是游戏状态呢?英雄血量、子弹数量、敌人等级 这些数字会随着游戏的推进发生变化,这些都是游戏状态。我们根据用户在游戏上操作来更改这些状态。当这些状态发生变更后,我们需要调用pygame.display.update()方法更新游戏画面。

事件监听

pygame.event.get() 方法获取了用户在游戏窗口上的所有操作,比如按钮点击、键盘按下等。因此,这个方法返回的是一个列表。我们使用for循环还取到每一事件,对事件作出响应。

退出游戏

if event.type == QUIT: 在下面的if语句里,我们判断如果事件类型是QUIT,我们就调用pygame.quit()方法退出游戏。同时结束游戏的运行。


阿达老师-孩子身边的编程专家
完整课程请关注阿达老师,主页里有完整的课程目录和观看地址

上一篇下一篇

猜你喜欢

热点阅读