2

私のプロジェクトでは、CocosBuilder で Cocos2D を使用しています。いくつかのキャラクターを子 CCSprites などを持つ CCNode のサブクラスに割り当てました。

これらの CCNodes がタッチに反応するようにします。たとえば、それらのいずれかに触れると、状況に応じたアニメーションが再生されます。ノードをタッチに反応させる方法(または、スプライトに触れたかどうかを検出するレイヤーをタッチに反応させる方法)だけを知りたいのですが、アニメーション部分は問題ありません。

何か案は?それは素敵だ。

サム

4

1 に答える 1

1

これはかなり簡単であることがわかります。クラスのヘッダー ファイルで、次のように、プロトコルを実装するクラスを定義する必要があります。

@interface Foo : CCNode <CCTouchOneByOneDelegate>
{

}

また、次のように onEnter と onExit を実装する必要があります。

- (void)onEnter
{
    [[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
    [super onEnter];
}
- (void)onExit
{
    [[[CCDirector sharedDirector] touchDispatcher] removeDelegate:self];
[super onExit];
}

ccTouchBegan を実装する必要があります (OneByOneDispatcher を使用している場合)

于 2013-05-22T09:18:18.817 に答える