0

簡単な質問があります。mainGameScene で使用した配列を appDelegate に渡す必要があります。以下はコードの簡略化されたバージョンです。

mainGameScene.h で

@interface mainGameScene : CCLayer
{
    CCArray *gameObjectArray;
}

mainGameScene.m には、配列を取得するメソッドがあります。

-(CCArray)getArray:
{
    return gameObjectArray;
}

AppDelegate.h で、mainGameScene のインスタンスを作成します。

@interface AppController : NSObject <UIApplicationDelegate, CCDirectorDelegate>
{
     mainGameScene *mainGameScene;
}

AppDelegate.m では、次の方法で配列にアクセスしようとしています。

-(void) applicationDidEnterBackground:(UIApplication*)application
{   
    CCArray *gameObjectArray = [mainGameScene getArray];
    CCLOG(@"numOfObjects = %d", getArray.count);
}

何らかの理由で、出力された numOfObjects は常に 0 です。

なぜこれが起こるのか、誰でも簡単に答えてもらえますか?どのように実装すればよいですか?ご回答ありがとうございます。

4

1 に答える 1

0

AppDelegate は次のようにすべきではありません:

-(void) applicationDidEnterBackground:(UIApplication*)application
{   
    CCArray *gameObjectArray = [mainGameLayer getArray];
    CCLOG(@"numOfObjects = %d", gameObjectArray.count);
}

これらの他の変数がどこから来ているのかわかりません。

于 2013-03-06T02:14:24.637 に答える