嗨!大家好,我是小蚂蚁。
前段时间我写了一篇《想要漂亮的效果,怎么能少了粒子》,分享了微信小游戏制作工具中关于粒子插件的使用方法。在那篇教程中对于粒子插件的使用方法是错误的,这个问题是我的一位学员发现的,根据教程中的方式使用粒子效果时,游戏的内存占用会持续的增加,直到游戏闪退。找了许久,最后才发现是粒子插件使用方法的问题。
这篇文章在此做个纠正,以下是粒子插件的正确使用方法。
我们搭建一个非常简单的场景,在场景中导入一个粒子插件,然后放置一个圆形。启动游戏,圆形 2 秒后发生爆炸,然后我们使用粒子效果来实现爆炸。
看一下圆形上的积木逻辑。
设置粒子的位置必须要使用粒子效果提供的“设置粒子原点坐标”这个积木块,不能使用运动中的设置位置积木。
预览一下。
接着,我们再来看一下粒子插件在具体的游戏中的使用。
如图,是我在新游戏经典消除1010中使用粒子实现的消除效果。
首先,根据游戏中的需求导入粒子插件,因为每个粒子插件只能显示一种粒子效果(只能显示红泡泡或者绿泡泡),所以导入了 6 个粒子插件,并为每个粒子配置了对应的图片和参数。
接着,看一下播放粒子的积木逻辑。
方块消除时,只需要在当前方块的位置播放一次粒子效果就可以了。
对比一下之前的错误的使用方法。
这里有一点儿需要特别注意:不要去克隆粒子效果,即使你后来删除了克隆的粒子效果,这个粒子效果占用的内存也不会被释放。这也就是之前方法的问题之处,因为在游戏的过程中需要不停的消除,就需要不停的克隆粒子,虽然粒子播放完后都使用“删除此克隆体”积木进行了删除,但是粒子占用的内存却并没有被释放。
这里是游戏更新前后内存的对比。在修正了粒子的使用方法后,游戏的内存占用终于回复正常了。
对于粒子效果插件,只需要添加一次,就可以无限制的在任何位置上播放粒子效果(可以在多个位置上同时播放)。所以我们不需要对粒子插件进行克隆操作,只需要在用到的时候,将其设置到指定的位置,然后让其播放粒子效果即可。
之前的文章最后,关于粒子效果对游戏性能的影响很大的说法也是有问题的。因为,据我测试,在修正了方法后,即使在游戏中同时消除很多行(也就是说需要同时播放多个粒子效果)游戏也依然非常的流畅。所以,大家可以放心大胆的使用粒子效果,让自己的游戏更绚丽。
至于粒子效果的性能瓶颈如何,到底可以支持同时播放多少粒子?我并没有进行具体的测试,大家可以根据自己想要达到的效果自行测试一下。
今天的内容就到这里了,虽然我的教程的阅读量不多,但是对于这些读者来说,我分享的很多方块很可以会被用上,所以,之前关于粒子的错误使用方法在这里进行了纠正,如果你之前已经使用了错误的方法,那么看了今天的文章之后,就赶紧的纠正过来吧!
我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我的公众号就对啦!