2

我是 c++ 和 cocos2d-x 的新手,我有一个问题。我有一个“弹丸”,它是 CCSprite,好的,我将它插入到数组中:

projectile->setTag(2);

_projectiles->addObject(projectile);

但是当我需要它时:

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

我有关于“_projectiles”的错误,里面有 CCObject。对不起我的英语不好,谢谢你的帮助!

4

1 回答 1

6

您必须将proj其存储在以下CCArray位置:CCObject*CCSprite*

CCSprite *projectile = static_cast<CCSprite*>(proj);

dynamic_cast如果您需要运行时检查,您也可以这样projCCSprite

CCSprite *projectile = dynamic_cast<CCSprite*>(proj); //will return nullptr if failes to cast
于 2012-08-24T18:53:26.217 回答