【问题标题】:How to get children of a type in Cocos2d v3如何在 Cocos2d v3 中获取一个类型的孩子
【发布时间】:2014-02-07 12:21:18
【问题描述】:

使用新的 Cocos2D v3 获取具有特定名称的子数组的正确方法是什么?

getChildByTag 不再支持,getChildByName 只返回一个节点。

【问题讨论】:

  • getChildByTag 也只返回一个节点(第一个带有标签的节点)。然后,如果您想要多个带有标签的孩子,则必须遍历 children 数组。
  • 您好,问题是指 Cocos2d-iphone 的第 3 版。不再支持标签。我可以手动递归循环所有孩子并检查,当然。孩子的获取似乎在v2.1中被广泛使用并且非常有用,这就是为什么我认为在v3中有类似的机制。显然这种方式不再受欢迎,使用 UIResponder 方法似乎是特权。

标签: ios iphone cocos2d-iphone


【解决方案1】:

根据official documentation of Cocos2d v3.4,你可以通过self.children从CCNode类中获取所有子节点,并在FOR-EACH LOOP中遍历它们来匹配name属性,得到想要的子节点。

for (CCNode* child in self.children)
{
    if ([child.name isEqualToString:@"theSprite"])
    {      
        // do stuff here ...
    }
}

【讨论】:

  • 感谢您的回答。当我问这个问题时,这不可用。不过,它可能会帮助一些人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多