Pygame经典i wanna跑酷引擎
本帖最后由 andy大宝 于 2026-7-1 09:03 编辑统一回复【直接复制能跑吗】
这个引擎程序不能直接跑,需要下载附件后运行附件内的py文件
首先,感谢Pygame纯画笔弹幕游戏(复制即玩)中鱼油们的鼓励和支持,看到各位热情捧场,我真的成就感满满{:10_257:}
在这之后呢,萌新信心爆棚,猛啃碰撞检测,计划写一个无爬墙跑酷引擎
刚思考完框架,准备动手{:10_256:}
结果……紧接着就在论坛上发现了这个:用Python做一个跑酷游戏{:10_277:}
兴致全无{:10_266:}(本来想整一个震撼首发)
美好的想法搁置了近10个月
现在正好放超长暑假(我26年高考),待在家里实在无聊,然后就想到了这个计划。
毕竟,这个帖子里Twilight6的话触动了我:
很棒,论坛就需要这种学习良性竞争的氛围!!!
既然有人已经实现,那就超越
我把目光投向了我最喜欢的跑酷游戏之一 ——i wanna
要实现 i wanna 跑酷引擎,有几个额外的问题必须攻克:
1.i wanna 的地图刷新模式以单个角色(如block, killer, save)为单位,将不同单位放置在棋盘格上,这就需要用到二维数组。然而(据我所知)Python 并没有现成的二维数组
解决方式:在文本文档内模拟二维数组,既满足地图刷新模式,又提高了关卡编辑的自由度
2.i wanna 跑酷引擎中跳跃时按住跳跃键可以增大跳跃高度,但有一定限度
解决方式:用一个变量对按住跳跃键的帧数计数,达到一定值时取消高度增加
3.i wanna 跑酷引擎支持二段跳,但空中只能多跳一次
解决方式:分类讨论,结合 player 是否碰到 block,讨论过程较复杂,详见代码
好了,下面是代码预览,作品文件和作品介绍{:10_287:}
**** Hidden Message *****
规则:
AD移动,W跳跃(跳跃高度与按住时长有关),可二段跳,碰到红色或玩家出左边界时死亡,玩家出右边界时进入下一关
作为一个跑酷引擎,游戏内没有提供完整的关卡包,仅对游戏机制作介绍用
游戏截图:
关于bug与可玩性:
在我电脑上运行的时候,游戏一开始总是会出现轻微卡顿,随后就好了,不知道是什么原因
附件里面有一个文本文档,打开后可以自己编辑关卡,编辑方式很简单,你读完代码秒懂(不懂的话也欢迎来问{:10_330:})
顺便说,代码的37行有一个设置字体,这是我调试变量时留下的,你可以用下面这行代码将变量实时显示在屏幕上:window.blit(font.render("变量名:%s" % 变量名,True,"black"),(20,20))之后时间我的作品可能会更新(如建立严谨的关卡包),感兴趣的鱼油可以时常关注一下
有人能提供关卡包吗,我突然有点想玩自己写的游戏了{:10_328:} 嘿嘿,就喜欢这种有点抽象的游戏~ 学到了 复制直接跑吗? 强 我来打卡学习啦 啊?
能复制直接跑吗 学到了 有时间玩一下 学习学习 有点抽象 强得可怕,我什么时候能这么强啊! 这个是不是画面改一下,就更高大上了 学到了 好强啊!! 完蛋了,每次分享的都是看不懂,要加紧学习了 加油,好好干,万丈高楼平地起 还有这种引擎