3

私はcocos2dを使用し、仮想ジョイスティックを必要とするiPadゲームを開発しています。SneakyJoystickを使用してプロトタイプを稼働させています。

ただし、ゲームデザインでは、CCTransitionsを使用して、必要な視覚効果を得るためにCCSceneの異なるインスタンス間でユーザーを移動する必要があることに気付きました。問題は、ユーザーコントロール(ジョイスティックなど)がCCTransitionsの影響を受けないようにすることです。画面上(CCSceneが占める部分とは異なる部分)に残しておく必要があります。

これを行う唯一の方法は、画面全体よりも小さい領域を占めるEAGLViewにcocos2d環境全体を保持することであることに気付きました。これにより、すべてのユーザーコントロールを、シーンの遷移の影響を受けない画面上の他の場所に保持できます。 。

問題は、SneakyJoystickはおそらくオプションではなくなったことを意味します。これはCCNodeであるため、おそらくcocos2dシーングラフ内でのみ実行されるためです。

誰かがこの状況の代替ソリューションを持っているかどうか興味があります:cocos2d環境の外に仮想ジョイスティックを実装する方法ですが、それはどういうわけかcocos2dシーンと流動的に通信することができます。

この非cocos2dクラスからのcocos2dのスケジュールされた更新を利用するか、何らかの方法でユーザー入力情報をジョイスティッククラスからcocos2dにプッシュすることによって、SneakyJoystickまたは非常に類似した機能を保持できれば素晴らしいと思います。

4

1 に答える 1

1

おそらく、UIViewを作成して、openglビューの上に置くことができます。openglViewにアクセスするには、を使用します[CCDirector sharedDirector].openGLView。UIViewを使用してジョイスティックを作成します。したがって、常に表示され、CCScene遷移の影響を受けません。

于 2011-05-29T11:25:11.580 に答える