Pygame游戏开发-从入门到放弃(1)

Pygame游戏开发-从入门到放弃(1)Pygame 的介绍 Pygame 是一组专门为编写游戏设计的 Python 模块 增加了 SDL 库功能 可以使你在 Python 语言中轻松地创建全功能的游戏和多媒体程序 Pygame 是免费的 在 GPL 许可下发布 你可以创建开源 免费 免费软件 共享软件

大家好,欢迎来到IT知识分享网。

Pygame的介绍

Pygame是一组专门为编写游戏设计的Python模块,增加了SDL库功能。可以使你在Python语言中轻松地创建全功能的游戏和多媒体程序。

Pygame是免费的,在GPL许可下发布,你可以创建开源,免费,免费软件,共享软件,和商业游戏。 Pygame已经存在很多时间了,许多优秀的程序员加入其中,把Pygame做得越来越好。

安装Pygame

Pygame游戏开发-从入门到放弃(1)

安装pygame

安装完成之后,输入python回车,进入python环境,然后输入import pygame检查是否安装成功。

Pygame游戏开发-从入门到放弃(1)

检查是否安装成功

如果出现:ImportError: No module named pygame 那就是没有安装成功,(●’◡’●)。

如果没有出现异常错误,那就说明pygame模块安装成功了。

导入与初始化

环境安装完成之后,我们就正式开始介绍关于pygame的使用,准备好了吗?

Pygame游戏开发-从入门到放弃(1)

开始

今天我们主要讲pygame导入与初始化、载入图像与声音、主循环等内容。

在pygame中,导入和初始化是一个非常简单的过程。有多简单呢?

首先,第一步导入pygame包,只有导入包之后才能使用其中的方法与属性。

import pygame

第二步初始化,通过init方法初始化pygame库,让计算机硬件做好准备。

pygame.init()

完成了初始化的工作之后,接下来我们尝试创建出来一个pygame的窗口。

创建一个Pygame窗口

Pygame最重要的部分是表面。我们可以把表面想象成一张白纸。你可以用表面做很多事情:画线、填充颜色、复制图像等。这个表面可以是任何尺寸的,我们设置的是800(宽)*600(高)的大小。试着运行这个程序,你会发现有一个黑黑的窗口一闪而过。

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

这是因为Pygame的作用就是为了创建游戏,所以需要与玩家不断互动, 需要有一个事件循环一直运行。 为了让事件驱动系统”看到”事件发生,它必须不断”寻找”事件,这种特殊的循环我们称为事件循环。因此我们需要采用while来执行这种循环。

import pygame pygame.init() screen = pygame.display.set_mode([1080,675]) while True: pass

添加了while循环之后,黑窗口就能够一直存在了,但是会产生新的问题,那就是程序进入了死循环,无法关闭。

Pygame游戏开发-从入门到放弃(1)

死循环

接着,我们要增加一个事件处理器,用来监听当用户点击退出按钮时发生的事件。

在pygame中我们将使用的模块是 pygame.event,使用pygame.event.get()方法可以从事件队列得到所有事件的一个列表。

获取到所有的事件之后,通过遍历的方式处理列表中的每一个事件,如果遇到QUIT退出事件,则调用sys.exit方法结束程序。

import sys import pygame pygame.init() screen = pygame.display.set_mode([1080,675]) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit()

运行以上代码,你就会看到一个能正常工作的窗口啦~,通过右上角的叉叉就能够正常的关闭程序。

插入图像(pygame.image)

当程序正常运行之后,接下来我们想办法在窗口中插入一张图片, 在 Pygame 中,使用图像最简单的方法就是利用 image 函数, pygame.image模块有一个load()函数,可以帮我们加载图片。

import sys import pygame pygame.init() screen = pygame.display.set_mode([1080,675]) image_filename = './Source/diss.png' image = pygame.image.load(image_filename) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit()
Pygame游戏开发-从入门到放弃(1)

可恶

运行代码之后,pygame的窗口并没有出现图片这是因为图片加载完成后,我们需要将像素从一个地方复制到另一个地方。像素复制在编程中有一个特殊的名字,叫做块移(blitting)。

它可以帮助我们将一个图像从一个地方“块移”(就是复制啦)到另一个地方。移到哪里呢?我们需要设定一个起始位置,即: x 轴(水平方向)、y 轴(垂直方向)。 在 Pygame 中, 这两个数是从从窗口左上角的 [0, 0] 坐标开始的。

所以我们需要加入以下代码:screen.blit(image, [0, 0]).

除此之外,对于 Pygame 窗口中显示的所有内容来讲,如果内容发现变化之后就需要进行flip,否则修改的内容并不能更新到窗口。

# 导入模块 import sys import pygame # 初始化 pygame.init() # 设置窗口 screen = pygame.display.set_mode([1080,675]) # 图片路径 image_filename = './Source/diss.png' # 加载图片 image = pygame.image.load(image_filename) # 移动图片 screen.blit(image, [0, 0]) # 更新窗口内容 pygame.display.flip() # 循环监听事件 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit()

运行以上代码,有一个可爱的小姐姐在等你~。

Pygame游戏开发-从入门到放弃(1)

小姐姐

是不是有点意犹未尽的赶脚?想要深入学习可以继续关注,接下来会继续更新哦

感谢关注~

Pygame游戏开发-从入门到放弃(1)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/161181.html

(0)
上一篇 2024-12-07 07:00
下一篇 2024-12-07 07:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信