嗨!大家好,我是小蚂蚁。
如图,是我上线的游戏【彩虹星球大冒险】中的金币拾取效果,打金币作为这个游戏中的一个非常重要的体验,把金币拾取效果做的好看就显得尤为重要。今天就跟大家分享一个,如何实现一个这样好看的金币拾取效果。
观察一下上面的动图,金币从出现到消失总共是分为两个过程的。
- 金币从爆炸的物体中向上弹出,并进行旋转下落
- 玩家碰到金币后,金币放大旋转然后飞到屏幕的左上角记录金币的位置后消失
接下来我们以一个具体的实例,来逐步的实现整个金币效果。
如图,我们实现一个这样的示例:从屏幕中的大金币处不停的生成小金币,角色碰到小金币后,会拾取金币,被拾取的金币飞到屏幕的左上角消失,最后将金币数字增加 1 。
首先,我们来布置一下示例的场景。
可以看到这里面有 4 种不同的金币角色,这里我们重点需要关注的是“掉落金币”和“飞行金币”。
掉落金币
先来看“掉落金币”,掉落金币负责完成第一阶段的任务,即金币在某个位置上创建出来之后,要有一个先向上飞,再向下落的抛物线的轨迹(想象一下我们向上抛一个东西),要实现这种移动,需要借助工具提供的“物理行为”。
我们为“掉落金币”增加一个物理行为,将“能否倾倒”的选项关闭,因为在金币下落的过程中,我们希望它能够一直保持直立的状态。
接着,来看一下“掉落金币”的积木逻辑。
掉落金币被克隆出来之后,给它向上施加一个随机的角度(70~110),随机的力(1~2),以此来实现一种随机向上抛出的效果。接下来金币下落的过程,其实就完全交由“物理行为”来控制了。
至于金币是如何旋转的呢?用一个带有旋转动画的金币造型,然后使用动画播放积木进行循环播放即可。
飞行金币
再来看“飞行金币”,飞行金币负责完成第二阶段的任务,即从拾取的位置放大弹出来并进行翻转,然后飞到屏幕左上角记录金币的位置。为了实现更好的金币翻转和飞行效果,我们可以借助“翻转”和“缓动动画”这两个行为。
接着,来看一下飞行金币上的积木逻辑。
逻辑并不复杂,这里重点是通过一些细节的处理,来让整个金币拾取的过程看上去更自然,更美观。例如,使用翻转来表明金币被吃到了,翻转过后增加一小段向左上方的旋转移动过程,相当于让吃到的金币多显示一会儿,而不是吃到后就直接飞走了。为了让吃金币的效果更明显,我们增加了“飞行金币”的大小,并且调整了飞行金币的旋转,这样可以让金币的翻转变得更自然。
通过以上的两步,我们就能实现了一个更好看的金币效果了。整体实现上并不复杂,但是有一些细节需要我们重点处理。
毕竟在游戏中拾取金币对于玩家来讲是很爽的,让这种体验再好一点儿是我们游戏开发者的责任。一个效果最终呈现的如何,能够给玩家带来怎样的体验,需要的不止是开发技术,还需要更多的用心思考,以及对于细节不停雕琢和打磨的耐心。
知识也学到了,来支持一下我的最新游戏呗!