微信小程序罪恶都市手游哪个版本好玩?版本区别介绍!
大家今天跟大家唠唠我最近搞的一个小玩意儿——微信小程序版的“罪恶都市”。一开始我也就是突发奇想,想在手机上也能随时随地体验一把童年回忆,谁想到还真让我给捣鼓出来了,虽然简陋,但是能玩!
我啥也不懂,就知道微信小程序有个 Canvas 组件,可以用来画图,其他的就两眼一抹黑。于是我就开始疯狂的找资料,恶补 Canvas 相关的知识,什么绘制图形、动画、事件处理,各种 API 文档啃了个遍。那段时间感觉比高考还认真。
啃完理论知识,我就开始动手了。我先从最简单的地图开始,想着先把罪恶都市的地图给“搬”到小程序里。结果发现,罪恶都市的地图太大了,直接用 Canvas 画肯定卡死。后来我就想了个招儿,把地图切成小块,每次只加载玩家视野范围内的地图块,这样性能就好多了。
地图搞定了,接下来就是主角了。我不会美术,只能在网上找一些素材,然后自己用 PS 简单处理一下。主角的动作动画,我用的是 Canvas 的drawImage 方法,不停的切换图片来实现的。别说,效果还真像那么回事儿。
有了地图和主角,总得有点互动?我就开始研究 Canvas 的事件处理。我用 touch 事件来控制主角的移动,用 tap 事件来模拟攻击。操作手感嘛肯定没法跟 PC 版比,但是凑合着用也还行。
游戏的核心玩法,我简化了很多。没有复杂的剧情,也没有各种任务,就是简单的跑图、打架。敌人也是简单的 AI,只会朝着主角跑过来。但是,这已经足够我回忆童年了。
碰到更大 的坑就是性能优化了!我的小程序卡得不行,帧率低的让人想砸手机。后来我各种优化,减少 Canvas 的绘制次数,使用对象池来管理游戏对象,才勉强能流畅运行。
然后是各种细节的调整。比如主角的移动速度,敌人的攻击范围,子弹的飞行速度,等等。这些参数都需要不断的调整,才能找到一个比较好的平衡点。
- 地图切割与加载
- 角色动画实现
- 触控事件处理
- 简易AI设计
我把小程序发布到了微信开发者社区。虽然没什么人玩,但是看到自己的作品能跑起来,心里还是挺开心的。
总结一下这回实践:
收获与教训
- Canvas 确实是个好东西,可以实现很多炫酷的效果。
- 性能优化是重中之重,一定要在开发初期就考虑到。
- 游戏开发不是一件容易的事情,需要耐心和毅力。
这回“罪恶都市”小程序的实践,让我学到了很多东西。虽然最终的作品比较简陋,但是它是我一步一个脚印做出来的,对我来说意义非凡。以后有机会,我还会继续学习,争取做出更棒的游戏!
-
上一篇
罪恶都市7颗警星小辉攻略分享!小辉教你摆脱警察追捕!
开篇:为啥要搞这七颗星? 最近真是闲得有点发慌,手痒痒,就把那老伙计《罪恶都市》
-
下一篇
罪恶都市回血女孩会叫有这回事?游戏彩蛋还是隐藏任务!
大家今天得空,跟大家伙儿聊聊我最近在《罪恶都市》这老游戏里头搞的一个小实践。这游