今天跟大家伙儿唠唠我昨天刚搞定的一个微信小程序小游戏,名字叫“落井下石”,别想歪了,就是字面意思,一个挺有意思的益智小游戏。
话说这几天闲着没事,寻思着练练手,就想着搞个小游戏玩玩。在网上搜罗了一圈,看到一个叫“落井下石”的小游戏,感觉挺有意思的,规则简单,就是把“人”字推下去,再把“石头”扔下去,就算过关。看着简单,玩起来还挺烧脑的。
第一步,当然是搭环境了。 我用的是微信开发者工具,这个没啥好说的,直接下载安装就行。然后新建一个小程序项目,选了个空白模板,就开始我的表演了。
第二步,开始设计游戏界面。 这游戏画面比较简单,就一个井,两个“人”字,一块“石头”,还有一些零散的偏旁部首。我用wxml
写页面结构,用wxss
写样式。井是用view
画的,然后用css
把边框弄粗一点,看起来像那么回事。 “人”字和“石头”也都是用view
,然后设置背景颜色和文字,简单粗暴。
第三步,实现“人”字掉井的功能。 这是游戏的核心逻辑,我先给两个“人”字绑定了点击事件,点击的时候,判断当前点击的是哪个“人”字,然后通过方法,改变“人”字的位置,让它看起来像掉到井里去了。这里有个小技巧,可以用animation
属性,加个动画效果,让掉落的过程更自然一点。
第四步,实现“石头”砸人的功能。 这个跟“人”字掉井类似,也是绑定点击事件,然后改变“石头”的位置。不过这里需要判断一下,是不是已经把“人”字推下去了,如果没推下去,石头就不能砸下去。这个用一个flag
变量来控制就行了,推下去之后,把flag
设为true
,石头才能移动。
第五步,加入偏旁部首,增加难度。 光是推“人”砸“石头”太简单了,没啥挑战性。于是我加了一些零散的偏旁部首,让玩家把这些偏旁部首拼成一个完整的字,才能移动“石头”。 比如,把“广”字的偏旁部首散落在井的周围,玩家需要先把“广”字拼出来,才能把“石头”砸下去。这个功能实现起来比较麻烦,需要判断玩家拼字是否正确,如果拼错了,就不能移动“石头”。我用了一个数组来存储正确的拼字顺序,然后判断玩家的点击顺序是否和数组中的顺序一致。对了,为了更像“落井下石”的效果,用canvas画了个“石头”扔下去的动画。
第六步,增加关卡。 一个关卡太单调了,我增加了几个关卡,每个关卡的偏旁部首和拼字都不一样,难度也逐渐增加。关卡之间用方法进行跳转。
第七步,测试和优化。 游戏写完之后,就开始测试了,发现了很多bug,比如“人”字掉下去之后,还能再次点击,石头砸下去之后,还能再次移动等等。 然后就是各种改bug,各种优化,让游戏体验更好一点。 比如说,加了个提示功能,如果玩家实在想不出来,可以点击提示按钮,提示一下正确的拼字顺序。 还有就是,加了个重新开始按钮,如果玩家玩砸了,可以重新开始这一关。
发布。 把代码提交到微信公众平台,审核通过之后,就可以发布了。 昨天晚上发布之后,发给几个朋友试玩了一下,都说挺有意思的,就是有点烧脑。哈哈,看来我的游戏还是挺成功的。
这回做“落井下石”小游戏,虽然过程有点曲折,但是也学到了很多东西。 比如,更熟悉了微信小程序开发的流程,掌握了wxml
、wxss
、js
的使用,还学会了如何使用animation
属性和canvas
进行动画开发。 最重要的是,体会到了游戏开发的乐趣。 以后有机会,还会继续开发其他小游戏,跟大家伙儿分享。
- 游戏画面:简洁明了
- 游戏玩法:益智烧脑
- 开发工具:微信开发者工具
遇到的问题:
- 点击事件冲突
- 动画效果不流畅
- 关卡设计难度不合理