Cocos2d iphone 上一个场景的ui按钮与CCSprite重叠
我有一个在屏幕上随机移动的UIButton。单击该按钮,将加载一个新场景,目前该场景包含一个CCSprite。代码如下:Cocos2d iphone 上一个场景的ui按钮与CCSprite重叠,cocos2d-iphone,ccsprite,Cocos2d Iphone,Ccsprite,我有一个在屏幕上随机移动的UIButton。单击该按钮,将加载一个新场景,目前该场景包含一个CCSprite。代码如下: //in init CCSprite *a = [CCSprite spriteWithFile:@"a.png"]; [a setPosition:ccp(0,0)]; [self addChild:a]; 非常简单,我很难理解为什么在“替换场景”之后,HelloWorldScene.m的UIButton仍然可见,就在精灵的顶部。我哪里出错了?你真的没有提供足够的信息。然
//in init
CCSprite *a = [CCSprite spriteWithFile:@"a.png"];
[a setPosition:ccp(0,0)];
[self addChild:a];
非常简单,我很难理解为什么在“替换场景”之后,HelloWorldScene.m的UIButton仍然可见,就在精灵的顶部。我哪里出错了?你真的没有提供足够的信息。然而,最简单的答案是,如果你不想再看到按钮,那么就移除子按钮(按钮)。您可以在按钮上设置一个标记,然后使用[layer getChildByTag:(NSInteger)]。我假设您正在使用openGLView将UIButton添加到cocos2d场景中 比如: [[[CCDirector sharedDirector]openGLView]添加子视图:按钮] 如果是这种情况,那么在替换HelloWorld场景之前,需要调用类似的 [从SuperView中移除按钮] 其中button是UIButton的名称(在这两种情况下)
不过,有一个建议是在HelloWorld场景中使用带有CCMenuItem的CCMenu,因为UIKit对象与Cocos2d的网格不太匹配。它们确实不匹配。我希望他们能致力于提高凝聚力。是的,我意识到我之所以试图避免使用CCMenu,仅仅是因为我熟悉ui按钮。但这应该是好的。谢谢