2012-07-23 53 views
-2

我想在另一個之上添加一個cclayer。 我以下面的代碼將cclayer加在另一個之上

+(id) scene 
{ 
CCScene *scene = [CCScene node]; 

GameScreen *layer = [GameScreen node]; 
[scene addChild: layer]; 

GameScreen *newLayer=[GameScreen node]; 
[scene addChild:newLayer]; 

return scene; 
} 

試過,但可能也有一些失誤,因爲當我試圖在newLayer添加的東西,它說用ideclared在.h文件中也即使未聲明的變量。

你能幫我詳細的代碼嗎?

+0

什麼是你得到確切的錯誤?能夠顯示.h以及? – 2012-07-23 13:26:13

+0

newLayer es只在場景方法中定義,所以如果你想在該方法之外使用,你會得到錯誤... – Setrio 2012-07-23 13:27:16

+0

我想在newLayer(2nd)上添加文本並在圖層(第一個)上添加精靈。所以它應該看在同一個場景。而且,我想只將觸摸應用到newLayer。 – stack 2012-07-23 13:42:38

回答

2

而不是在「場景」類的方法這樣做的,添加「新」 CCLayer在 - (ID)的init {}方法:

-(id) init { 
    self = [super init]; 
    if (self) { 
     GameScreen *newLayer=[GameScreen node]; 
     [self addChild:newLayer]; 

     //Other code   

    } return self; 
} 
+0

嘗試過。但是,它不會低於該代碼([self addChild:newLayer];)。在添加新圖層並在一段時間後崩潰之前,它會連續調用代碼。 – stack 2012-07-24 06:54:09

+0

或者告訴我,我們可以在同一場景中添加兩層,怎麼樣? – stack 2012-07-24 07:37:41

+0

多數民衆贊成真的很奇怪...通常你可以添加儘可能多的CCLayers,只要你願意...你介意分享更多的代碼? – 2012-07-24 11:07:43

相關問題