我有一个在屏幕上随机移动的UIButton。单击该按钮时,将加载一个新场景,该场景目前包含一个CCSprite。这是代码:
//in init
CCSprite *a = [CCSprite spriteWithFile:@"a.png"];
[a setPosition:ccp(0,0)];
[self addChild:a];
非常直截了当,它让我难以理解为什么在'replaceScene'之后仍然可以看到你好的世界之谜的UIButton,就在Sprite之上。我哪里错了?
答案 0 :(得分:3)
我假设你将一个UIButton添加到你正在使用openGLView的cocos2d场景中 类似的东西:
[[[CCDirector sharedDirector] openGLView] addSubView:button];
如果是这种情况,那么在您更换HelloWorldScene之前,您需要调用类似于
的内容[button removeFromSuperview]
其中button是UIButton的名称(在两个实例中)。
虽然建议在你的HelloWorldScene上使用带有CCMenuItem的CCMenu,因为UIKit对象与Cocos2d并不能很好地匹配。
答案 1 :(得分:0)
你真的没有提供足够的信息。然而,最简单的答案是,如果您不希望按钮再次可见,则移除子项(按钮)。您可以在按钮上设置标签,然后使用[layer getChildByTag:(NSInteger)]。