创建游戏背景
这里设置了游戏的基本窗口尺寸,标题,以及背景颜色。游戏背景可以使用现成的图片素材,也可以使用单纯的颜色设置,这里采用颜色设置,具体颜色值可以到网上搜索一下就可以了。
添加角色素材
这里添加一个人物和一个金币,利用pygame.image.load的方法直接加载就可以了,然后再游戏循环中绘制到背景窗口上。
更改金币尺寸
金币尺寸有点大,利用pygame自带的方法pygame.transform.scale缩放设置一下大小,原来时64X64,改成32X32。
实现鼠标控制人物
利用pygame.mouse.get_pos()获取当前鼠标的位置,然后将之前绘制人物的坐标位置设置为鼠标的位置就实现了鼠标控制人物移动的效果了。
实现碰撞检测-人物捡到金币
这里涉及到坐标的判定,用自己的方法会相对会比较复杂,但是为了我们了解游戏碰撞检测的一个原理,这里还是要学习一下,之后再用pygame游戏引擎提供的方法来实现。
这里要解决两个问题,如何判断人物碰到金币,第二如何让人物碰到金币后消失。
第一个问题解决:
两个角色人物和金币其实就是一个图片矩形,有宽和高,它们碰撞其实就是有区域重合,人物和金币的左上角坐标是可以变化的,设为x,y,宽和高都是固定的,用代码来表示:
if B.x<=A.x+A.width<=B.x+B.width:
ifB.y<=A.y+A.height<=B.y+B.height:
第二个问题解决:
这里因为是使用blit绘制的,无法小除掉,暂时使用break退出程序代表完成游戏,下篇文章学习pygame的sprite精灵管理方法,就非常方便了。
(全文完)