我有3個類,即GameScene,HomeScene和RecordsScene,我試圖從GameScene傳遞一個整數值到RecordScene。我的問題是,一旦遊戲完成,它會回家,然後你必須點擊記錄來查看記錄。基本上,三個班的順序是這樣的:在cocos2d的3個類之間傳遞int
GameScene - > HomeScene - > RecordScene
我一直試圖做的是從GameScene整數值傳遞給HomeScene然後從HomeScene,我將它傳遞給RecordScene但是當我到達那裏時,整數的值仍爲0。這裏是我當前的代碼:
//GameScene
-(void)goHome:(ccTime)dt
{
HomeScene *home = [HomeScene node];
//myInt is an integer I declared on the HomeScene class, the value changes depending on the stage
home.layer.myInt = 1;
[[CCDirector sharedDirector]replaceScene:home];}
//HomeScene
-(void)viewRecord:(id)sender
{
//View record
RecordScene *record = [RecordScene node];
//lastStage is the integer from RecordScene I'm passing the value of myInt into
record.layer.lastStage = myInt;
[[CCDirector sharedDirector]replaceScene:record];}
我實現類,像這樣:
@implementation HomeScene
@synthesize layer;
-(id)init
{
if((self =[super init]))
{
self.layer = [HomeSceneLayer node];
[self addChild:layer];
}
return self;
}
@end
@implementation HomeSceneLayer
@synthesize myInt;
//methods
@end
然後我的頭看起來像這樣:
@interface HomeScene : CCLayer
{
int myInt;}
@property(nonatomic)int myInt;
@end
@interface HomeScene : CCScene
{
HomeSceneLayer *layer;
}
@property (nonatomic, retain)HomeSceneLayer *layer;
@end
爲什麼重新回到0,我怎麼從GameScene到RecordScene傳遞整數值?
如何聲明'HomeScene'上的'layer'屬性和'layer'上的'myInt'?你用ARC嗎?如果你沒有確定在獲取int值之前沒有發佈實例嗎? – gerrytan
基本上,我做的是實現HomeScene和合成圖層來添加圖層。然後我實現了HomeSceneLayer並在那裏合成了myInt。我會更新我的帖子以包含該帖子。 – user1597438