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

标签 ios uianimation caanimation caemitterlayer caemittercell

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

就像这样:

enter image description here

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

我不知道我还能用什么来做到这一点?我被困在这一点上。

最佳答案

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

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

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

关于ios - 如何做潜望镜红心跳出来的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32584512/

相关文章:

ios - UIView 动画与 CALayers

cocoa - 具有不同界面元素的 CAAnimationGroup

ios - 两个 UITabBarControllers 共享一个 ViewController(作为选项卡内容)?

objective-c - 无法让 addObject 在 NSMutableArray 上工作

iOS动画翻书封面和轻松起来

ios - 用 UIView block 动画做闪烁效果

ios - 动画 View 并中途停止

ios - NSCoder:无法识别的选择器发送到实例

ios - 设置新谓词后 NSFetchedResultsController 未正确刷新

ios - UIView 不是第一次消除