Cocos2d-x CCArray-对象和精灵

Cocos2d-x CCArray - Objects and Sprites

本文关键字:精灵 对象 CCArray- Cocos2d-x      更新时间:2023-10-16

我是c++和cocos2d-x的新手,遇到了一个问题。我有一个"炮弹",它是CCSprite,好吧,我把它插入阵列:

projectile->setTag(2);
_projectiles->addObject(projectile);

但当我需要它时:

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

我有关于"_projectiles"内部有CCObject的错误。抱歉我英语不好,谢谢你的帮助!

您必须将存储在CCArray中的proj强制转换为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