在CCSpriteBatchNode中是否可以添加CCLabel到CCSprite上?

3
我有一个CCSpriteBatchNode被添加到我的场景中。
我使用"initWithSpriteFrameName"创建了一个CCSprite,然后将它添加到了我的批处理节点中。
这个精灵可以正确地显示。但是,在将CCLabelTTF作为CCSprite的子节点添加之后,应用程序崩溃,并显示以下错误:
"CCSprite is not using the same texture id"
是否有任何方法将标签作为精灵的子节点添加?
1个回答

3

只有在不将CCSprite添加到CCSpriteBatchNode时才能添加标签。CCSpriteBatchNode仅允许CCSprite作为子项,这也适用于其子项的子项。

如果这不是一个选择,您可以将标签添加到场景层次结构的其他位置,然后使用更新方法更新标签的位置,以使标签的位置与精灵的位置同步。


我进行了大量的研究,得出结论:按照我的问题描述添加精灵是不可能的。然而,我尝试了你第二个建议中提到的方法,之后重新构造了代码,实现了你第一个建议中的方式。最终,在这一切完成之后,我看到了你的帖子。=) - TigerCoding
好的,至少你得到了确认。 :) - CodeSmile
CCLabelTTF 继承自 CCSprite,因此将其添加到 CCSpriteBatchNode 应该是可行的。问题在于 CCSpriteBatchNode 是使用图像(通常是 PNG 图集)创建的,但我不知道是否可以指定一个字体图像并将其与 CCLabelTTF 一起使用。 - abeljus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接