Cocos2d iphone CCNode标记-显示所有标记都相同

Cocos2d iphone CCNode标记-显示所有标记都相同,cocos2d-iphone,Cocos2d Iphone,我是cocos2d游戏开发新手。我已经将一个CCNode子类化,我循环将该子类添加到游戏层,设置该节点的标记。在该子类的m文件中,我使用Touchs委托检测元素。但控制台显示,对于该节点的任何对象,创建的标记都是相同的。必须初始化每个节点的标记。使用uniq整数作为标记。最好使用枚举 typedef enum { kEnemy_Dog = 1000, kEnemy_Cat, kEnemy_Rat, kEnemy_Bat }EnemyType; typedef e

我是cocos2d游戏开发新手。我已经将一个CCNode子类化,我循环将该子类添加到游戏层,设置该节点的标记。在该子类的m文件中,我使用Touchs委托检测元素。但控制台显示,对于该节点的任何对象,创建的标记都是相同的。

必须初始化每个节点的标记。使用uniq整数作为标记。最好使用枚举

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) 

标签值是多少?如果是-1,你就永远不会改变它。如果在子类中将其设置为x,则子类的所有实例都将具有标记值x(即相同)。发布一些与如何使用标记属性相关的代码。