1

CCEase* アクション ラッパーに問題があります。イージングなしでアクションを実行でき、期待どおりに動作しますが、イージングを追加すると、アニメーションが実行されず、遅延後にアクションの最後に「ポップ」するだけです。

これは [CCMoveTo actionWithDuration:duration position:position] うまく機能しますが、イージングを追加しようとすると問題が発生します。

さまざまなイージング関数を試してみたり、アクションを 1 つだけ実行したり、内部アクションでイージングを伴うシーケンスを実行したりしましたが、どちらも機能しませんでした

[CCEaseOut actionWithAction:[CCMoveTo actionWithDuration:duration position:position]]私にはうまくいきません。

アプリの他の部分では機能しますが、どこでも機能するわけではありません。私は明らかに違うことをしていないので、途方に暮れています。

誰もこれを経験したことがありますか?どんな助けでも大歓迎です!

4

2 に答える 2

1

イージング アクションを機能させるには、そのアクションを指定する必要があります。指定しrateないと、説明したようにアクションがポップされます。

使用しようとしている一部のイージング アクションがクラスから継承されているため、クラスのメソッドのシグネチャを確認してください。CCEaseRateActionメソッドを使用actionWithAction:rate:(または init...)

于 2013-08-29T14:00:04.430 に答える
1

このように試してみてください

id action = [CCMoveTo actionWithDuration:2 position:ccp(100,100)];
id ease = [CCEaseOut actionWithAction:action rate:2];
[sprite runAction: ease];
于 2013-08-29T11:57:18.957 に答える