前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这是我第一次使用代码创建出一个窗口【python 游戏实战 01】

这是我第一次使用代码创建出一个窗口【python 游戏实战 01】

作者头像
1_bit
发布2022-01-06 09:04:03
6040
发布2022-01-06 09:04:03
举报
文章被收录于专栏:我的知识小屋

前言

本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。

若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰我也更新下一篇。(肯定不到,也会更的。)


作者简介

作者名:1_bit

简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。

博客地址:https://i1bit.blog.csdn.net


🐰小C:小媛,终于把 python 的基础语法内容学完了开不开心?

👸小媛:不开心!我说的游戏呢?怎么还没开始。 😂

🐰小C:这不就是来了嘛,我怕你一下子看不懂,所以就慢慢来咯。

👸小媛:你意思是说我笨咯? 😒

🐰小C:没没没,还真没这个意思。

👸小媛:我觉得你心里就是这样想的。 😒

🐰小C:不不不,否认三连,我可没说。不过如果你自己这样想,就没办法了。

👸小媛:你!… 😠

🐰小C:好了,我们进入正题,你知道在一个游戏中,有哪些元素吗?

👸小媛:…

🐰小C:好了,赶紧回答。

👸小媛:在游戏中有主角、背景等元素。

🐰小C:这些元素我们可以统称为“精灵”。

👸小媛:名字那么好听的嘛。

🐰小C:当然你也可以换一个名字,那你知道这些精灵在编写的时候到底是怎么来的吗?

👸小媛:不知道。

🐰小C:精灵其实就是一张张图片,我们使用不同的图片构成不同的元素。那这些在游戏中的图片,是用什么来控制的呢?

👸小媛:代码呗,我又不傻。 😠

🐰小C:其实例如我们在制作一个飞机大战的游戏时,若我方的子弹触碰到了敌机,那么敌机就会爆炸,这个爆炸其实是切换成爆炸图片从而产生的;所以这些元素其实大多数都是图片。

👸小媛:唔,原来如此。这个就像那个我们画的那种纸人画吧,翻书后可以动的那种?

🐰小C:唔,理解的很透彻呀,对的,就是这个意思。现在我们正式的进入 Pygame 的学习吧。我们在创建一个文件,引入这个 pygame 游戏制作工具就可以正式将该工具拿过来了。

代码语言:javascript
复制
import pygame

👸小媛:明白,这就是个常规操作。 😒

🐰小C:接下来我们需要对 pygame 进行初始化,这个过程就像你拿了一个工具后,需要将它重置成最开始的状态才能用它,否者将会有一些上一个人使用残留的信息哟,这样就不是很好了。

代码语言:javascript
复制
import pygame

pygame.init()

👸小媛:真的会有上一个人的残留信息吗?

🐰小C:哈哈哈,当然不会,其实这个过程就像你玩游戏新建一个角色,总要初始化这个角色啥样吧?其实就是这个作用。

👸小媛:真的就知道你在逗我玩。 😒

🐰小C:接下来我们就来创建这个游戏窗口吧,游戏窗口还需要输入一个宽高,否则 pygame 是不知道你要创建什么样子的窗口的。

👸小媛:程序就是这样,我懂,都要给予一些基础信息,否则搞不定的。

🐰小C:代码编程中大多是这样,我们继续。在 pygame 这个工具箱中,有一个工具叫做 display,这个 display 工具有很多功能,我们需要使用 set_mode 这个功能就可以创建出一个窗口了,或者说使用 display 中的 set_mode 方法。在 set_mode 这个方法中,我们使用一个圆括号括起 800 和 600,也就是传入一个元组,内容为 800 和 600,就像这样(800,600);之后将这个值传到 set_mode 这个工具中就可以了。在这里可以把创建的这个图片赋值给一个变量,那么这个变量就是创建的屏幕,我们可以通过这个变量去控制创建的这个屏幕。

代码语言:javascript
复制
import pygame

pygame.init()
screen=pygame.display.set_mode((800,600))

👸小媛:简简单单,我搞出来了,真香第一次使用代码创建窗口,真开心。 😎

🐰小C:开心就好开心就好,但是这个窗口会一闪而过是吧?

👸小媛:是的,一闪就过了我有点懵。

🐰小C:没事,我们将这个窗口的信息给补全吧。

👸小媛:现在没有全吗?

🐰小C:对的,你还有标题和图标没有加呢。

👸小媛:对哟,快告诉我怎么加。

🐰小C:添加标题很简单,在 display 这个中有一个叫做 set_caption 的方法用于设置标题,我们使用这个方法传入标题字符串就可以了。

代码语言:javascript
复制
import pygame

pygame.init()
screen=pygame.display.set_mode((800,600))
pygame.display.set_caption("这是一个飞机游戏")

👸小媛:哈哈哈,收到,接下来如何创建一个小图标呢?

🐰小C:我们需要给这个窗口添加小图标还需要先装在图片,在 pygame 中 image 对象有一个方法叫做 load 可以装载图片,使用 load 后我们可以将加载的图片赋值到一个变量,这个变量就等于了装载的图片。

代码语言:javascript
复制
import pygame

pygame.init()
screen=pygame.display.set_mode((800,600))
pygame.display.set_caption("这是一个飞机游戏")
icon=pygame.image.load(r'C:\Users\mx\Desktop\icon.jpg')

👸小媛:装载完之后怎么使用呢?

🐰小C:使用 display 工具中的 set_icon 方法,把这个图片设置为当前游戏的图标就可以了,是不是非常简单。

代码语言:javascript
复制
import pygame

pygame.init()
screen=pygame.display.set_mode((800,600))
pygame.display.set_caption("这是一个飞机游戏")
icon=pygame.image.load(r'C:\Users\mx\Desktop\icon.jpg')
pygame.display.set_icon(icon)

👸小媛:哈哈哈,真简单,那个 icon 就表示那个图片吧?

🐰小C:是的,直接使用 set_icon 就可以将这个图片设置到窗口上了。

👸小媛:但是还是会一闪而过。

🐰小C:对的,我们下节课告诉你怎么解决这个问题。

👸小媛:了解。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 作者简介
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档