2013-03-14 138 views
1

我查看了它,大部分的信息都在製作一個singleton類。我只想從我的menuscreen.m中傳遞一個值給我的helloworldlayer.m。什麼是簡單的方法來做到這一點。將值從一個場景傳遞到另一個場景

- (void) changeScenePlay 
{ 
    CCScene *testscene = [HelloWorldLayer scene]; 

    testscene.number = 1; 

    [[CCDirector sharedDirector] replaceScene:testscene]; 
} 

我嘗試過的方法之一就是這樣的,但是這也不是我的工作。

如何訪問場景中的變量並進行更改。

+0

testscene.number = 1;這行是回答你的問題 – 2013-03-14 07:27:13

+0

閱讀此:http://www.koboldtouch.com/display/IDCAR/Strategies+for+Accessing+Other+Nodes – LearnCocos2D 2013-03-14 08:17:46

回答

1

在HelloWorld圖層類中使用可變成員。

@interface HelloWorldLayer: CCLayer 
    { 
     int number; 
    } 
    @property(nonautomatic, assign) int number; 
    @end 

    @implementation HelloWorldLayer 
    @synthesize number; 

    +(CCScene *) sceneWithNumber:(int)inNumber 
    { 
     CCScene *scene = [CCScene node]; 

     HelloWorldLayer *layer = [[[HelloWorldLayer alloc] initWithId:inNumber] autorelease]; 

     [scene addChild: layer z:Z_SCENE tag:TAG_SCENE]; 

     return scene; 
    } 

-(id) initWithId:(int)inNumber 
{ 
    if((self=[super init])) { 
     self.number= inNumber; 
    } 
    return self; 
} 

    @end 

呼叫sceneWithNumber代替場景

- (void) changeScenePlay 
{ 
    CCScene *testscene = [HelloWorldLayer sceneWithNumber:1]; 
    [[CCDirector sharedDirector] replaceScene:testscene]; 
} 
+0

好吧我得到它的工作有點,但我怎麼得到layer.number並使用它在我的helloworld圖層 – user2121776 2013-03-14 08:10:09

+0

在圖層類其成員...訪問它通過自我,self.number :) – Guru 2013-03-14 08:11:39

+0

因爲當我嘗試使用它,它告訴我它的零 – user2121776 2013-03-14 08:16:00

1

爲此創建外部變量並按照您的操作進行操作。

相關問題