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

我们这个章节学习使用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()方法退出游戏。同时结束游戏的运行。


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


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这次呢,让我们重温一下儿时的乐趣,用Python做一个飞机大战的小游戏。接下来,让我们一起走进“飞机大战”。 一....
    HDhandi阅读 5,918评论 1 4
  • 无聊的理论: GUI和CLI 普通的Python程序便是CLI(命令行界面),就像当你在Windows下打开CMD...
    静_谷阅读 5,465评论 1 3
  • 小结 - 上学;学习,读书,练琴。 明日计划 - 上学;学习。
    301Cl阅读 1,207评论 1 1
  • 依然是,一个月前梦到你的的那个梦境里,同样的路同样的村庄,不同的是这次的道路结冰了,你一个人在路上滑冰,追到你的时...
    zhao先森阅读 1,441评论 0 0
  • 三、事业篇 1. 【优势与维持】 优势 1. 在管理层面(公司文化+管理层能力提升)上的持续学习与精进,学到了比较...
    古严Pro阅读 10,358评论 0 51

友情链接更多精彩内容