2012-07-23 2 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에 무언가를 추가하려고 할 때, 그것은 그 .H 파일도 ideclared도 선언되지 않은 변수를 사용하여 말한다 사촌 몇 가지 실수가있다 할 수있다.

세부 코드를 알려주십시오.

+0

당신이있어 정확한 오류가 무엇입니까? .h도 보여줄 수 있니? –

+0

newLayer는 장면 메서드에만 정의되어 있으므로 해당 메서드 외부에서 사용할 경우 오류가 발생합니다. – Setrio

+0

newLayer (두 번째)에 텍스트를 추가하고 첫 번째 레이어에 스프라이트를 추가하고 싶습니다. 그래서 그것은 같은 장면에서 보일 것입니다. 그리고 newLayer에만 터치를 적용하고 싶습니다. – stack

답변

2

대신 "장면"클래스 메소드에이 일의은에 "새로운"CCLayer를 추가 - (ID) 초기화 {} 방법 :

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

     //Other code   

    } return self; 
} 
+0

시도해 보았습니다.하지만 그 코드 ([self addChild : newLayer];) 아래로 가지 않습니다. 새 레이어를 추가하고 시간이 지나면 코드가 계속해서 코드를 호출합니다. – stack

+0

또는 말해, 동일한 장면에서 두 개의 레이어를 추가 할 수 있습니까? – stack

+0

thats 진짜 이상한 ... 보통 당신은 제발 당신이 원하는만큼 많은 CCLayers를 추가 할 수 있습니다 ... 코드를 더 많이 공유 하시겠습니까? –