1

画面上をランダムに動き回る UIButton があります。ボタンをクリックすると、今のところ CCSprite を含む新しいシーンが読み込まれます。コードは次のとおりです。

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

非常に簡単ですが、'replaceScene' の後で、なぜ theHelloWorldScene.m の UIButton がまだスプライトのすぐ上に表示されているのかがわかりません。どこが間違っていますか?

4

2 に答える 2

3

UIButton を cocos2d Scene に追加しているので、次のような openGLView を使用していると思います。

[[[CCDirector sharedDirector] openGLView] addSubView:button];

この場合、HelloWorldScene を置き換える前に、次のようなものを呼び出す必要があります。

[ボタン removeFromSuperview]

button は UIButton の名前です (両方のインスタンスで)。

ただし、UIKit オブジェクトは Cocos2d とうまくかみ合わないため、HelloWorldScene で CCMenuItem と共に CCMenu を使用することをお勧めします。

于 2011-07-02T22:39:32.067 に答える
0

あなたは本当に十分な情報を提供していません。ただし、最も簡単な答えは、ボタンを表示したくない場合は、子 (ボタン) を削除することです。ボタンにタグを設定してから、[layer getChildByTag:(NSInteger)] を使用できます。

于 2011-07-02T16:30:49.767 に答える