AppDelegate が IntroMenu オブジェクトを作成する C++ プロジェクト (Cocos2d-x を使用しますが、実際には問題ではありません) を開始しています。AppDelegate を IntroMenu クラスのインスタンス変数として定義したいのですが、うまくいきません...
これが私の IntroMenu の定義方法です。
IntroMenu.h
class IntroMenu : public cocos2d::CCLayerColor
{
public:
AppDelegate* _app;
//etc...
}
IntroMenu.m
CCScene* IntroMenu::scene()
{
CCScene *scene = CCScene::node();
IntroMenu *layer = IntroMenu::node();
scene->addChild(layer);
return scene;
}
AppDelegate から IntroMenu をインスタンス化するときは、AppDelegate で次のように処理します。
introScene = IntroMenu::scene();
((IntroMenu*)introScene)->_app = this;
_app
IntroMenu のパブリック変数 (AppDelegate 型) です。
問題は、_app
後で AppDelegate の他のメソッドで使用するときに null ポインターであることです。
IntroMenu とその変数を適切にインスタンス化する方法は_app
?
ありがとう !!