2012-04-02 10 views
0

CCLayerビューとUIViewの両方を持つ小さなアプリケーションがあります。それはうまく動作します。私は、Cocos2d CCLayerがメッセージを受信できるように、レイヤの参照にメッセージを送信しようとしています。これは簡単に思えますし、うまくいくと思います。私はIVARとして「ココス」と呼ばれるCCLayerポインタを作成し、ココスビューを作成した後、このように設定します。UIViewからCCLayerへのポインタ

[[CCDirector sharedDirector] runWithScene: [HelloWorldLayer scene]]; 

CCScene*tempscene=[[CCDirector sharedDirector] runningScene]; 
cocos=[tempscene.children objectAtIndex:0]; 

これはただ一つのシーンと層とのシンプルで小さなテストアプリケーションであるため、それが動作するはずです。しかし、iVar cocosHelloWorldLayerのパブリックメソッドのいずれにも応答しません。どんな考え?

更新:コードを少しだけ並べ替えて作業するようにしました。それは前の方法この方法を働いていない理由はわからない:

CCScene*tempscene=[HelloWorldLayer scene]; 
[[CCDirector sharedDirector] runWithScene: tempscene]; 


cocos=[tempscene.children objectAtIndex:0]; 

答えて

0

のコードの最初のビットがあなたのために動作しませんでした理由はrunWithScene:がすぐ[HelloWorldLayer scene]CCDirectorrunningSceneプロパティを設定していないということです。

+0

いつでも*「runningscene」が利用可能になったら? – johnbakers

+0

runWithSceneを呼び出すと、実際にシーンを開始するまで、実行シーンとしてシーンがない限り、runningSceneがアクティブになった後であると思います。 –

+0

私はrunWithSceneの後にコードを書きましたが、明らかにrunningsceneは何もしませんでした – johnbakers

関連する問題