0
我是新來的cocos2d遊戲開發人員。我創建了一個CCNode子類,我正在循環將此子類添加到爲此節點設置標籤的遊戲層。在此文件的m文件子類我使用觸摸代表來檢測元素。但控制檯顯示,對於此節點創建的任何對象,標記都是相同的。CCNode標籤 - 顯示所有標籤都是相同的
我是新來的cocos2d遊戲開發人員。我創建了一個CCNode子類,我正在循環將此子類添加到爲此節點設置標籤的遊戲層。在此文件的m文件子類我使用觸摸代表來檢測元素。但控制檯顯示,對於此節點創建的任何對象,標記都是相同的。CCNode標籤 - 顯示所有標籤都是相同的
您必須初始化每個節點的標籤。使用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(即相同)。發佈一些與您如何使用標籤屬性相關的代碼。 – LearnCocos2D 2013-03-11 09:39:12