如何在 Cocos2d v3 中获取一个类型的孩子
Posted
技术标签:
【中文标题】如何在 Cocos2d v3 中获取一个类型的孩子【英文标题】:How to get children of a type in Cocos2d v3 【发布时间】:2014-02-07 12:21:18 【问题描述】:使用新的 Cocos2D v3 获取具有特定名称的子数组的正确方法是什么?
getChildByTag
不再支持,getChildByName
只返回一个节点。
【问题讨论】:
getChildByTag 也只返回一个节点(第一个带有标签的节点)。然后,如果您想要多个带有标签的孩子,则必须遍历 children 数组。 您好,问题是指 Cocos2d-iphone 的第 3 版。不再支持标签。我可以手动递归循环所有孩子并检查,当然。孩子的获取似乎在v2.1中被广泛使用并且非常有用,这就是为什么我认为在v3中有类似的机制。显然这种方式不再受欢迎,使用 UIResponder 方法似乎是特权。 【参考方案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 ...
【讨论】:
感谢您的回答。当我问这个问题时,这不可用。不过,它可能会帮助一些人。以上是关于如何在 Cocos2d v3 中获取一个类型的孩子的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cocos2d v3 中设置 CCTextField
Cocos2D v3.4.9粒子效果不能显示的原因分析及解决办法