Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocos2d-x CCArray-对象和精灵 我是C++和COCOS2D-X的新手,我有个问题。 我有一个“投射物”,它是CCSprite,好的,我将它插入数组: projectile->setTag(2); _projectiles->addObject(projectile);_C++_Cocos2d X - Fatal编程技术网

Cocos2d-x CCArray-对象和精灵 我是C++和COCOS2D-X的新手,我有个问题。 我有一个“投射物”,它是CCSprite,好的,我将它插入数组: projectile->setTag(2); _projectiles->addObject(projectile);

Cocos2d-x CCArray-对象和精灵 我是C++和COCOS2D-X的新手,我有个问题。 我有一个“投射物”,它是CCSprite,好的,我将它插入数组: projectile->setTag(2); _projectiles->addObject(projectile);,c++,cocos2d-x,C++,Cocos2d X,但当我需要的时候: CCSprite* proj; CCARRAY_FOREACH(_projectiles,proj){ CCSprite *projectile = proj; ... 我有一个关于“_射弹”的错误,里面有一个cObject。 对不起,我英语不好,谢谢你的帮助 您必须将存储在CCArray中的proj转换为CCObject*到CCSprite*: CCSprite *projectile = static_cast<CCSprite*>(proj);

但当我需要的时候:

CCSprite* proj;
CCARRAY_FOREACH(_projectiles,proj){
  CCSprite *projectile = proj;
  ...
我有一个关于“_射弹”的错误,里面有一个cObject。
对不起,我英语不好,谢谢你的帮助

您必须将存储在
CCArray
中的
proj
转换为
CCObject*
CCSprite*

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

通常我只使用C Cask,它是(CPCSRITE *)PRJ,它有更少的字母类型:P。也许我太懒了。@丁丁:当你能够使用C++的转换时,你不应该使用C风格的演员,因为他们给你很多的检查,因此帮助你不要在一个leg@Andrew谢谢,我会记住的,在我的下一个项目中使用C++
CCSprite *projectile = dynamic_cast<CCSprite*>(proj); //will return nullptr if failes to cast