1

キングダム ラッシュで見られるように、ドアを閉じるトランジションを作成しようとしています。(左右から2つのドアが来る)

私が考えているのは、次の2つのアプローチです。

  • 最初のものは、ドア画像として入力を取得するカスタム トランジションである可能性があります。

    このアプローチでは、それが私の好ましい方法ですが、それを行う方法を見つけることができませんでした

  • 2 番目のアプローチは、最初のシーンでドアを閉じるアニメーションを作成し、2 番目のシーンで同じドアを閉じた状態で 2 番目のシーンをプッシュすることです。その後、ドアの開閉アニメーションを行います。

    このアプローチは可能ですが、シーンの遷移で瞬きが発生するのだろうか

誰かがこの問題に遭遇しましたか?

前もって感謝します

4

2 に答える 2

0

私は2番目のものをお勧めします。それはかなり簡単です...このようなもの:

別のクラスでアニメーションを作成し、シーンでアニメーションを呼び出してシーンの最後で閉じ、次のシーンを次のように置き換えます。[[CCDirector sharedDirector]replaceScene:[NextScene scene]];

シーンの読み込みが比較的速い場合は、まったく点滅しませんが、(何らかの理由で)点滅する場合は、別のスレッドを作成し、バックグラウンドスレッドの次のシーンに「大きなもの」を追加して、シーンがすぐに読み込まれるようにします。ドアをアニメートするときに、残りの部分をロードします。

ドアが閉じているかどうかを検出するには...NSUserDefaults最初のシーンでBOOLをYESに設定し、2番目のシーンでドアが閉じているかどうかを確認します。

アニメーション自体については、画面の外側に2つのccspriteを作成し、画面上でアニメーション化します。また、シーンを離れるときにスプライトはすでにメモリにあるため、次のシーンに何もロードする必要はありません。だからそれは瞬時です。

于 2012-07-07T16:55:43.403 に答える
0

cocos2d ソースの CCTransition.m ファイルを見てください。フリップ トランジション クラスでは、CCOrbitCamera アクションの使用例を見つけることができます。シーンの場合、中心に対して相対的に反転します。ただし、すべてのトランジションは、ノードのアンカー ポイントに関連して行われます。したがって、さまざまなバリエーションを試すことができます。

于 2012-07-06T15:23:41.800 に答える