0

私はcocos2dゲーム開発に不慣れです。CCNodeをサブクラス化し、このサブクラスをゲームレイヤーに追加して、このノードのタグを設定しています。このサブクラスのmファイルでは、touchesデリゲートを使用して要素を検出しています。しかし、コンソールは、このノードのどのオブジェクトに対しても、作成されたタグが同じであることを示しています。

4

1 に答える 1

0

ノードごとにタグを初期化する必要があります。タグとして一意の整数を使用します。列挙型を使用することをお勧めします。

typedef enum
{
    kEnemy_Dog = 1000,
    kEnemy_Cat,
    kEnemy_Rat,
    kEnemy_Bat
}EnemyType;

typedef enum
{
    kHeroType_Lion = 2000,
    kHeroType_Tiger,
    kHeroType_Dino,
    kEnemy_Eagle
}HeroType;


CCSprite *dog = [CCSprite spriteWithFile:TEX_DOG];
dog.tag = kEnemy_Dog;
[self addChild:dog z:2 tag: kEnemy_Dog];


CCSprite *lion = [CCSprite spriteWithFile:TEX_DOG];
lion.tag = kHeroType_Lion;
[self addChild:dog z:2 tag: kHeroType_Lion];

//to check
if(inSprite.tag == kHeroType_Lion) 
于 2013-03-11T15:39:42.617 に答える