前言

本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。

创建游戏背景

这里设置了游戏的基本窗口尺寸,标题,以及背景颜色。游戏背景可以使用现成的图片素材,也可以使用单纯的颜色设置,这里采用颜色设置,具体颜色值可以到网上搜索一下就可以了。

python小游戏设计入门3-捡金币游戏(上)_二维码

python小游戏设计入门3-捡金币游戏(上)_二维码_02

python小游戏设计入门3-捡金币游戏(上)_碰撞检测_03

添加角色素材

这里添加一个人物和一个金币,利用pygame.image.load的方法直接加载就可以了,然后再游戏循环中绘制到背景窗口上。

python小游戏设计入门3-捡金币游戏(上)_碰撞检测_04

更改金币尺寸

金币尺寸有点大,利用pygame自带的方法pygame.transform.scale缩放设置一下大小,原来是64X64,改成32X32。

python小游戏设计入门3-捡金币游戏(上)_碰撞检测_05

python小游戏设计入门3-捡金币游戏(上)_python_06

实现鼠标控制人物

利用pygame.mouse.get_pos()获取当前鼠标的位置,然后将之前绘制人物的坐标位置设置为鼠标的位置就实现了鼠标控制人物移动的效果了。

python小游戏设计入门3-捡金币游戏(上)_二维码_07

python小游戏设计入门3-捡金币游戏(上)_碰撞检测_08

实现碰撞检测-人物捡到金币

这里涉及到坐标的判定,用自己的方法会相对会比较复杂,但是为了我们了解游戏碰撞检测的一个原理,这里还是要学习一下,之后再用pygame游戏引擎提供的方法来实现。

这里要解决两个问题,如何判断人物碰到金币,第二如何让人物碰到金币后消失。

第一个问题解决:

两个角色人物和金币其实就是一个图片矩形,有宽和高,它们碰撞其实就是有区域重合,人物和金币的左上角坐标是可以变化的,设为x,y,宽和高都是固定的,用代码来表示:

if B.x<=A.x+A.width<=B.x+B.width:

if​ ​B.y<=A.y+A.height<=B.y+B.height:

python小游戏设计入门3-捡金币游戏(上)_二维码_09

第二个问题解决:

这里因为是使用blit绘制的,无法小除掉,暂时使用break退出程序代表完成游戏,下篇文章学习pygame的sprite精灵管理方法,就非常方便了。

python小游戏设计入门3-捡金币游戏(上)_碰撞检测_10

python小游戏设计入门3-捡金币游戏(上)_python_11

(全文完)



欢迎转载,转载请注明出处!

欢迎关注公众微信号:叶子陪你玩编程 分享自己的python学习之路





长按二维码,

加关注!

叶子陪你玩

python小游戏设计入门3-捡金币游戏(上)_碰撞检测_12