[英]To extract one char from label that are made from CClabelBMFont
我试图慢慢地从字符串中显示一个字符,就像新游戏一样。
为此,首先,我使用CCLabelBMFont编写了如下代码,以从字符串中提取一个字符。
string str = "I like an apple";
CCLabelBMFont *label = CCLabelBMFont::create(str.c_str(), "font.fnt");
CCSprite *spr = (CCSprite*)label1->getChildByTag(0);
spr->setPosition(ccp(100, 100));
this->addChild(spr);
我想显示从GameScene中的CCLabelBMFont提取的spr(this)
但是我得到如下错误
CCAssert( child->m_pParent == NULL, "child already added. It can't be added again");
为什么会出现这种错误? 以及我该怎么办?
查看您使用的方法和错误。 您可以使用getChildByTag(...)
来获取精灵。 因此,您得到的是CCLabelBMFont
的child
节点,这意味着它有一个parent
。 您的错误表明此子级不能再作为子级添加,因为它已经有一个父级了。
我想不出一种直截了当的可靠方法来实现您想要的目标,但是您可以尝试以下建议:
setVisible(false)
。 然后安排一个调用,在该调用中您将在后续子级上调用setVisible(true)
。 LabelBMFont
子类和/或创建自定义动作可能是最灵活的方法,但可能并非最简单。 让我知道是否有任何不清楚的地方!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.