2011-11-11 9 views
0

私はCocos2D for iPhoneを学び始めています。基本テンプレートにはviewControllerがありますが、実行するとviewControllerビューの代わりにHelloWorldLayerが読み込まれます。iPhone Cocos2D - コードをロードする場所は?

viewControllerを使って作業しているときは、そのコントローラーのメインロジックを.mで使用していましたが、別の方法でCocos2Dが動作するため、メインロジックコードをどこに配置すればよいでしょうか。

私はこれを意味します。 Cocos2Dを使って開発するこれらの「レイヤー」ファイルはたくさんあり、シーンを通過すると、これらのファイルの1つが一度にアクティブになりますが、現在、アプリ内購入またはコアデータを持つアプリを構築していると想像します。私は販売とデータベースを扱うこの共通のロジックが存在すべき1つの中心的な場所を持つ必要があります。ベストプラクティスはどこですか?それをviewControllerの上に置くにはCocos2Dは何を作成するのでしょうか?あなたはどうやってそれをしますか?

ここでは、アプリケーションの実行時と最初のシーンを表示する前に初期化するようにコードを配置しますか?

おかげ

答えて

2

Cocos2Dでの起動コードは、アプリのデリゲートapplicationDidFinishLaunching方法です。だからそこにロードコードを初期化したいかもしれません。

問題は、View ControllerのviewDidLoadメソッドが呼び出されないようにするCocos2DによるView Controllerの設定が正しくないことが原因である可能性があります。 http://www.raywenderlich.com/

+0

感謝:rootViewController.view = glView

あなたがここにこの上でより多くの光を当てるチュートリアルをたくさん見つけることができます:あなたは、行の後に、しかしapplicationDidFinishLaunchingから手動でそれを呼び出すことができます。手動で電話をかけることはどういう意味ですか? applicationDidFinishLaunchingの最後に、[viewController setView:glView]と[window addSubview:viewController.view]が表示され、viewControllerのviewDidLoadは呼び出されません。ありがとう。 – SpaceDog

+0

これは、Cocos2Dがこのガイドラインに従わないためです:http://stackoverflow.com/questions/1479576/viewdidload-not-called-in-subclassed-uiviewcontroller これを修正するには、単に次の行の後にviewDidLoadを呼び出してください:\t \t rootViewController .view = glView; [rootViewController viewDidLoad]; – LearnCocos2D

関連する問題