首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAEmitterCell对所有粒子的访问

CAEmitterCell对所有粒子的访问
EN

Stack Overflow用户
提问于 2013-05-23 21:49:04
回答 1查看 618关注 0票数 1

我有一个CAEmitterCell工作,但我希望粒子减速和停止。看起来,如果我能接触到所有的粒子,我就可以把它们的速度和/或加速度降到0,它们就会停止运动。

我试过这样的方法:

代码语言:javascript
复制
NSArray *cells = [_layerEmitter emitterCells];
    for (CAEmitterCell* cell in cells) {
        ...

但这是行不通的,因为我的layerEmitter只有一个emitterCell,我不需要emitterCell,而是它已经产生的粒子。

我在文档中没有看到这个,这让我相信我有一个概念上的问题。我很感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-23 22:09:23

不幸的是,粒子只存在于窗口服务器中,这是一个与应用程序完全不同的进程。(它被称为backboardd,从iOS 6.0开始。)当发射器运行时,您可以通过在调试器中暂停应用程序来推断这一点。即使你的应用程序被停止,粒子继续在模拟器或设备上产卵和移动。所以你不可能接触到单个粒子。

如果发射器单元的velocityRangeemissionRange都是零(意味着在粒子的速度矢量中没有随机性),那么您应该能够通过播放单元的xAccelerationyAccelerationzAcceleration属性来使粒子减速。然而,粒子会减速到一个停止,然后反向。如果希望粒子在停止时消失,请适当设置lifetime属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16724498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档