在Objective C(iPhone)中从点x1,y2到点x2,y2发射粒子

时间:2012-10-03 15:14:38

标签: iphone gravity particles

我目前正在开发一个iphone应用程序,其中应该有一个从插头到设备可视化的“电力流”。

我已经把它变成了一条静态线,但是如果有一些方法可以用粒子代替那些线,显示实际的流而不是简单的连接,那就更好了。

因此,例如,设备A位于位置100,50,插头位于位置200,300。我希望粒子从200,300开始发射并且“流动”到100,50点并停在那里。

我已经认识到重力,但是由于同时屏幕上会有多于1个设备,这可能会搞砸了?

静态地执行此操作也不是解决方案:设备可以在屏幕上移动,粒子应该跟随。

编辑:

最后,我的一个朋友帮助了我:

这一点是X1,y1和点x2,y2

所以要计算角度去哪里:     dx = 100 - 200     dy = 50 - 300     速度= 100;     alpha = arctan2(dy,dx)
    距离= sqrt(dx * dx + dy * dy)     设置emittercell litetime =距离/速度     设置发射器单元速度=速度     设置emittercel emissionlongitude = alpha

并完成了!

1 个答案:

答案 0 :(得分:1)

我认为您需要调查CAEmitterLayer图层。他们应该做你想做的事。不幸的是,我只读过它们并且从未使用它们,因此无法提供任何示例。

Link to CAEmitterLayer Class Reference