1

我正在尝试做一个粒子效果,我将一个单元格嵌套到另一个单元格上。想想他们在Apple Docs中的基本烟花示例。他们将 Cell 嵌套到其他 Cell 中,并使用 BeginTime 参数对它们进行计时。但是,我的 CAEmittorCell 没有像他们那样的“beginTime”参数,而是在 CAEmittorLayer 中有一个参数......如果单元格没有,我应该如何嵌套单元格并让它们在不同的时间执行开始时间参数?

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

**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;

----已解决,请参阅下面的回复----

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

CAEmitterCell cell = new CAEmitterCell();
cell.SetValueForKeyPath (NSNumber.FromFloat(1), (NSString)"beginTime");
4

1 回答 1

2

绑定并CAMediaTiming没有真正丢失。它们被折叠成CAAnimation这里)和CALayer这里)。那是因为,在 7.0 的[Protocol]支持之前,是实现协议的方式。

问题是仅CAMediaTiming被这两种类型记录为采用 - 但是CAEmitterCell(也许还有其他类型,我需要检查)也符合它并且现在不公开协议方法。

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

于 2013-11-15T20:44:24.963 回答