我试图慢慢地从字符串中显示一个字符,比如小说游戏。
要做到这一点,我首先使用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(这个)
但我收到的错误如下
CCAssert( child->m_pParent == NULL, "child already added. It can't be added again");
为什么出现这样的错误?我该怎么办?
答案 0 :(得分:0)
查看您使用的方法以及您获得的错误。您使用getChildByTag(...)
来获取精灵。所以你得到的是child
的{{1}}节点,意味着它有一个CCLabelBMFont
。你的错误说这个精灵不能再作为孩子添加,因为它已经有了父。
我无法想出一种实现你想要的直截了当的方法,但是你可以尝试一些建议:
parent
。然后安排一个电话,您将在后续的孩子上拨打setVisible(false)
。setVisible(true)
的子类和/或创建自定义操作可能是最灵活的方式,但可能不是最简单的方法。如果有什么不清楚,请告诉我!