前言
本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
使用sprite精灵类重构
这里我们创建了玩家角色类Player和金币类Coin,类是编程中组织和管理代码的一种方式,当代码比较多的时候,使用这种方式是很有必要的。现在看上去代码比较多,但是程序角色越来越多时,这个时候它的代码增加却不是很多的,因为这个类就像一个模板一样,你只需要重复调用就可以了。
这里还有一个游戏中非常重要的概念,精灵类,这里我们是继承pygame.sprite.Sprite类,这样就可以直接调用它的方法了。
精灵组是便于我们管理精灵的,等后面我们创建多个金币时你就会发现它的用处了。
碰撞检测这里用到的是pygame.sprite.collide_rect(player,gold)方法,它返回的是一个布尔值 True 或者False,True表示已碰撞,False表示未碰撞。
完整代码:
动态效果:
添加多个金币
添加多个金币,使用循环就可以快速实现了,又多添加了一个精灵组,检测方法换成1对多的检测模式了pygame.sprite.spritecollide(player, coin_sprites, True),变的更简单了。
添加计分功能
设置一个分数变量score,添加一个字体文件,在游戏主循环中增加分数,然后创建文本内容,最后将内容绘制到屏幕左上角10,10位置。
(全文完)
欢迎转载,转载请注明出处!
欢迎关注公众微信号:叶子陪你玩编程 分享自己的python学习之路
长按二维码,
加关注!
叶子陪你玩