1

セルが別のセルにネストされているパーティクル エフェクトを実行しようとしています。Apple Docsにある基本的な花火の例を考えてみてください。Cells を他の Cells にネストし、BeginTime パラメーターを使用して時間を計っています。ただし、私は CAEmittorCell のように「beginTime」パラメーターを持っていません。代わりに CAEmittorLayer に 1 つ持っています...セルをネストして、セルにbeginTime パラメータ?

リンゴのサンプル コードには、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]サポートされる前は、プロトコルを実装する方法であったためです。

問題は、これらの 2 つのタイプのみで採用されることCAMediaTiming文書化CAEmitterCellされていることですが(おそらく他のタイプも確認する必要があります)、それに準拠しており、現在はプロトコル メソッドを公開していません。

迅速/即時の回避策は、インスタンスで欠落しているセレクターを呼び出すことです。Xamarin.iOS の将来のバージョンでは、それらが提供される予定です。

于 2013-11-15T20:44:24.963 に答える