2011-07-02 8 views
1

화면에서 임의로 움직이는 UIButton이 있습니다. 버튼을 클릭하면 CCSprite가 들어있는 새로운 장면이로드됩니다. 여기에 코드입니다 :이전 장면의 UIButton이 CCSprite와 겹칩니다.

//in init 
CCSprite *a = [CCSprite spriteWithFile:@"a.png"]; 
[a setPosition:ccp(0,0)]; 
[self addChild:a]; 

가 매우 간단하고, 'replaceScene'후 theHelloWorldScene.m의있는 UIButton 바로 스프라이트의 상단에 여전히 볼 수 있습니다 왜 나를 젊고 아름 다운 여자. 내가 어디로 잘못 가고 있니?

답변

3
당신은 당신이 좋아하는 openGLView 뭔가를 사용하고적인 Cocos2D 장면에있는 UIButton을 추가하고 이후이 있으리라 믿고있어

:

[[[CCDirector sharedDirector] openGLView] addSubView : 버튼]

이 경우, 당신은 당신의 HelloWorldScene을 대체 그 전에 당신이 버튼 (두 경우 모두에서)있는 UIButton의 이름입니다

[버튼 removeFromSuperview]

비슷한 전화를해야합니다.

UIKit 객체가 실제로 Cocos2d와 잘 맞지 않으므로 HelloWorldScene에서 CCMenuItem과 함께 CCMenu를 사용하는 것이 좋습니다.

+0

확실하지 않습니다. 응집력 향상에 노력하길 바란다. –

+0

예 UIButtons에 익숙하기 때문에 CCMenu를 피하려고했습니다. 그러나 이것은 좋을 것입니다. 감사 ! – Appster

0

정보가 충분하지 않습니다. 그러나 가장 간단한 대답은 버튼을 더 이상 보이지 않게하려면 자식 (버튼)을 제거하는 것입니다. 버튼에 태그를 설정 한 다음 [layer getChildByTag : (NSInteger)]를 사용할 수 있습니다.

+0

답장 보내 주셔서 감사합니다. – Appster