完全を期すために、同じタグを持つオブジェクトに複数の子を追加できることに注意する必要があります。たとえば、次のコードは次の後にログを提供します。
for (NSUInteger i = 0; i < 10; i++) {
CCLabelAtlas *toto = [SpriteUtils mapDamageLabel:23+i];
toto.tag = 901210;
[self addChild:toto z:0 tag:toto.tag];;
}
MPLOG(@"*** remove me : before refresh %@ ***", self.soldier);
for (id child in children_) {
CCNode *ch = (CCNode *) child;
MPLOG(@"<%@> tag: %i name : %@", self.soldier, ch.tag, ch.name);
}
*今ログ*
-[SoldierMapLayout sequenceEngagement:]:*削除してください:赤を更新する前に*
-[SoldierMapLayout sequenceEngagement:]:タグ:1024名前:CCSprite:walk_red_rogue_idle0001.png
-[SoldierMapLayout sequenceEngagement:]:タグ:891名前:CCSprite:移動できません
-[SoldierMapLayout sequenceEngagement:]:タグ:889名前:CCSprite:カントヒール
-[SoldierMapLayout sequenceEngagement:]:タグ:890名前:CCSprite:チャームド
-[SoldierMapLayout sequenceEngagement:]:タグ:886名前:CCSprite:ヘルスバー:18
-[SoldierMapLayout sequenceEngagement:]:タグ:896名前:CCSprite:walk_red_rogue_cast0001.png
-[SoldierMapLayout sequenceEngagement:]:タグ:895名前:CCLabelAtlas:重大なダメージ16
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ23
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ24
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ25
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ26
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ27
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ28
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ29
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ30
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ31
-[SoldierMapLayout sequenceEngagement:]:タグ:901210名前:CCLabelAtlas:ダメージ32
したがって、後で[self getChildByTag:901210]を実行すると、CCNodeは、タグで最初に見つかったものを返しますが、必ずしも探しているものではありません。