2

私はc++とcocos2d-xを初めて使用しますが、問題があります。私は「発射体」を持っています。それはCCSpriteです、OK、それを配列に挿入します:

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 に答える