就离谱!
大家好,我是一行
Python可以做市面上90%的2D游戏,但是最有意思的还是拿来熟知的游戏亲手修改里面的元素
这样的游戏不仅可以自己娱乐,还可以做成视频利用反差感来分享在各个短视频平台,可以称作是一种流量密码
像下面这样离谱的超级玛丽就是通过调节游戏里面的参数来达到的效果
源码可以在公众号 「一行玩Python」 后台回复 「超级玛丽」 领取
那有了源码,怎么更快的找到想要调整的参数,来达到离谱的效果呢?
这里一行来分享修改游戏各个参数的具体位置
1游戏图片
之前有很多人疑问,为什么20年前的硬件存储性能那么差,却有那么多像魂斗罗、超级玛丽等这样有意思的游戏呢?
因为像超级玛丽这样,这个游戏就下面这6张图片组成的
游戏里的所有怪物对手,也都是来自下面这一张图而已,然后游戏中只是提取中怪物在图片对应的位置,所以并不占什么存储空间
所以说,想修改游戏里的人物,在源头直接修改这些图片就可以了,以相同的文件名称保存在原位置,就可以将生活中的元素全部加载到这个游戏当中去
2人物大小
文件地址:data ---> components ---> mario.py
是用pygame的transform(Surface, (width,height))方法,来调整人物的大小
当然,游戏中的人物动画,是由各个不同形态的人物图形组成,因此这些图片都要调整成统一大小
3人物属性
文件地址:data ---> states ----〉 constants.py
当人物图形被修改之后,其中的动作属性就要对应的修改
例如人物调整的过大之后,如果还是原来跳跃高度,就显得特别不协调跟没跳似的
如果跳跃高度设置合理后,还需要调整重力,不然以原理的重力只要跳一次,就能够不落地到达终点
当然,这个文件还可以调整行走速度,跑步速度等参数,尽情的修改游戏
4游戏操作
文件地址:data ---> states ----〉 tools.py
最后就是游戏的控制参数,不同的按键决定了游戏人物的动作
这里还可以添加新的按键,除了完成原有的动作以外,还可以添加新的游戏动作,成为游戏的协作者
Part0最后
要是我小时候有这种技术,可能不需要30条命就可以通关了
我是一行,技术用不眠,我们下期见
对了,一行用爬虫爬取了知乎里150000字的python学习攻略,并统计分析了这些年入百万的python大佬所推荐的Python书单,花了很长时间整理成电子书合集如下图所示,需要的可以添加一行微信好友「yihangpy」直接领取哦~