Cocos2d-x CCArray-对象和精灵
Cocos2d-x CCArray - Objects and Sprites
我是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
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- CMake-按正确顺序将项目与C运行时对象文件链接
- 空基优化子对象的地址
- 将对象数组的引用传递给函数
- 你能重载对象变量名本身返回的内容吗
- C++使用整数的压缩数组初始化对象
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 将对象移动到std::shared_ptr
- 代理对象的常量正确性
- 提升 ASIO 无法识别计时器对象
- 将Ref对象作为类成员
- 将包含C样式数组的对象初始化为成员变量(C++)
- 如何返回一个类的两个对象相加的结果
- 使用std::函数映射对象方法
- Cocos2d-x CCArray-对象和精灵
- 使用sf::Sprite创建精灵对象
- 如何传递一个c++对象变量到Lua脚本,以便动画精灵
- 精灵对象在放置到向量中时不再渲染
- 用矢量对象作为成员的c++精灵类