首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CAEmitterCell添加到另一个CAEmitterCell

将CAEmitterCell添加到另一个CAEmitterCell
EN

Stack Overflow用户
提问于 2013-11-15 17:57:19
回答 1查看 209关注 0票数 1

我试图做一个粒子效应,我把一个细胞嵌套在另一个细胞上。想想他们在苹果文档中的基本烟花例子吧。他们将单元格嵌套到其他单元格中,并使用BeginTime参数对它们进行计时。但是,我的CAEmittorCell没有像他们一样的“CAEmittorCell”参数,而是在CAEmittorLayer中有一个.如果单元格没有beginTime参数,如何嵌套单元格并让它们在不同的时间执行?

注意,在苹果示例代码中,CAEmitterCell有一个“CAEmitterCell”参数

代码语言:javascript
复制
**CAEmitterCell *firework = [CAEmitterCell emitterCell];**
firework.contents = img;
firework.birthRate = 9999;
firework.scale = 0.6;
firework.velocity = 130;
firework.lifetime = 2;
firework.alphaSpeed = -0.2;
firework.yAcceleration = -80;
**firework.beginTime = 1.5;**
firework.duration = 0.1;
firework.emissionRange = 2 * M_PI;
firework.scaleSpeed = -0.1;
firework.spin = 2;

我只需像这样手动调用选择器,以获得所需的结果:

代码语言:javascript
复制
CAEmitterCell cell = new CAEmitterCell();
cell.SetValueForKeyPath (NSNumber.FromFloat(1), (NSString)"beginTime");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-15 20:44:24

CAMediaTiming绑定并不是真正缺少的。将其折叠成CAAnimation (这里)和CALayer (这里)。这是因为,在7.0的[Protocol]支持之前,是实现协议的方式。

问题是,CAMediaTiming记录在案,只有这两种类型才能采用--但是CAEmitterCell (可能还有其他的,我需要检查)也需要对它进行顺应性,并且现在不公开协议方法。

快速/立即的解决方法是调用实例上缺少的选择器。未来版本的Xamarin.iOS将提供它们。

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

https://stackoverflow.com/questions/20007553

复制
相关文章

相似问题

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