Cocos2d-x CCArray - 对象和精灵

时间:2012-08-24 18:38:48

标签: c++ cocos2d-x

我是c ++和cocos2d-x的新手,我遇到了问题。 我有一个“projectile”它是CCSprite,好吧,我把它插入数组:

projectile->setTag(2);

_projectiles->addObject(projectile);

但是当我需要它时:

CCSprite* proj;
CCARRAY_FOREACH(_projectiles,proj){
  CCSprite *projectile = proj;
  ...

我有关于“_projectiles”的错误,里面有CCObject。 抱歉,我的英语不好,感谢你们的帮忙!

1 个答案:

答案 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