项目博客关于

合成大瓜

2021-02游戏

一款小游戏,Flutter 版合成大西瓜
查看源码

项目预览

游戏首页游戏首页最终得分最终得分
多种主题多种主题更换贴图更换贴图

项目亮点

幕后花絮

2021 年春节前夕,一款名为合成大西瓜的小游戏火了。简单分析一下游戏规则:

  1. 玩家点击屏幕上的任意位置来放置水果
  2. 当两个相同的水果碰到一起时会合成更高等级的水果
  3. 通过不断合成,最终合成出大西瓜时, 玩家胜利
  4. 水果超过屏幕顶部的警戒线时,游戏结束

可以看到,整体还是比较简单的,我们只需要解决以下部分:

  1. 同等级水果间的碰撞检测
  2. 分数等级系统与游戏结束的判定
  3. 同等级水果碰撞升级时的缩放动画与粒子动效
  4. 监听屏幕点击事件操控水果下落位置

结合之前我做过的另一款游戏1,我觉得完全可以自己动手实现一个。

于是 2021 年春节年假,我在家前后花了大概三天三夜的时间2,完成了这个项目。

在技术栈上,我继续选择了 Flutter + Flame + Forge2D 的组合,顺便也实践了一把 Flutter Web3,最终将这个项目打包到了全平台4

备注

  1. 坠落: 我做过的第一款小游戏

  2. 当时一直写到大年三十的晚上,小伙伴们过来拜年,我还在电脑前撸代码,给他们展示效果 :)

  3. Flutter Web:彼时还是预览版,网上资料相对较少,一路踩坑填坑:其中涉及到条件导包,图片在网页端的裁剪,Javascript / Dart 互调等,期间还给 image 库提了个 PR,使其支持裁剪带透明通道的圆形图片。

  4. 支持 Web、Android、iOS、PC