我是c ++和cocos2d-x的新手,我遇到了问题。 我有一个“projectile”它是CCSprite,好吧,我把它插入数组:
projectile->setTag(2);
_projectiles->addObject(projectile);
但是当我需要它时:
CCSprite* proj;
CCARRAY_FOREACH(_projectiles,proj){
CCSprite *projectile = proj;
...
我有关于“_projectiles”的错误,里面有CCObject。 抱歉,我的英语不好,感谢你们的帮忙!
答案 0 :(得分:5)
您必须将proj
中存储的CCArray
CCObject*
投放到CCSprite*
:
CCSprite *projectile = static_cast<CCSprite*>(proj);
如果您需要运行时检查dynamic_cast
实际上是proj
,您也可以CCSprite
:
CCSprite *projectile = dynamic_cast<CCSprite*>(proj); //will return nullptr if failes to cast