我是 cocos2d 游戏开发的新手。我已经对 CCNode 进行了子类化,并且我正在循环将此子类添加到游戏层设置此节点的标签。在此子类的 m 文件中,我使用 touches 委托来检测元素.但是控制台显示,对于这个节点的任何对象,创建的标签都是相同的。
问问题
189 次
1 回答
0
您必须为每个节点初始化标签。使用 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)
于 2013-03-11T15:39:42.617 回答