Cocos2Dでカスタムアクションを作成して、時間の経過と共にコールバックを実行して、コールバックへの各コールを最後のコールよりも徐々に長くする方法すでにCocos2Dで提供EaseExponentialOutアクションに似Cocos2D-iphoneによるカスタムイージングアクション
これに似た何か:。(動作しない)
id sequence = [Sequence actions: [CallFunc actionWithTarget: self selector: @selector(spinTick)], [DelayTime actionWithDuration: 0.034f], nil];
id repeat = [Repeat actionWithAction: [sequence copy] times: 18];
id ease = [EaseExponentialOut actionWithAction: [repeat copy]];
[ease setDuration:4];
id play = [CallFunc actionWithTarget:self selector:@selector(play)];
[self runAction: [Sequence actions: [ease copy], [play copy], nil]];
上記のコードは、全体「配列」を実行し18倍とし、「プレイを実行'最後のシーケンスの最後のコールバック
しかし、EaseExponentialOutは作成された 'repeat'アクションでは何の影響も受けていないようです - 私は 'sequence'アクションの中で 'DelayTime'アクションの継続時間を調整することを期待していましたが、これを行うように見えません。
IntervalActionに基づいて独自のカスタムアクションを作成しようとしましたが、悲惨に失敗しました。
ここに何か不足していますか? spinTickコールバックはSpinnerActionを使用しますか?アニメーションが使用されているようではありません。私が見ているように、あなたは予想される容易な指数関数的な持続時間を持つspinTickコールバックの繰り返しシーケンスを持っています。 Spinnerはサンプルコードで参照されていません... –
SpinnerActionが下部に追加されましたが、忘れました。 –
もう一度見てから、スピンナーは実際には上記のコードで使用されることはありません - それは私の失敗したSpinnerActionの試行(事実の後に投稿の下に追加された)のインスタンスです –