如何做潜望镜红心跳出来的动画?

How to do animation just like Periscope hearts popping up?

我需要制作与在 Periscope 应用程序中相同的动画,同时用户正在发送爱心。每次触摸心都会爆裂并随机移动并消失并最终淡出。每次触摸都只会生成一个粒子(在本例中为心脏)。用户触摸的速度越快,出现的心越多。

就像这样:

我试过CAEmitterLayer,但是发射器会发射带有birthrate的粒子,没有办法精细控制粒子的发射。

我不知道我还能用什么来做到这一点?我卡在这了。

据我所知,没有办法让 CAEmitterLayer 做你想做的事。

但是,在我看来,您有两个选择:您可以在用户每次点击屏幕时创建一个发射器,它只发射一个具有随机加速度和方向的粒子(效率不高,但编写代码很快),或者自己做所有事情:每次用户点击屏幕时创建一个精灵,将其位置、方向、速度和旋转存储在矩阵中,在 update() 方法中修改它们,然后重绘每个精灵。

我希望至少我能给你一个继续工作的想法。