0

ボディノードタイプとポリゴンスプライトを描画しようとしています。更新メソッドで両方のタイプを更新するとき。問題があります。

これは多角形タイプです:

BombBallSprite *bomb = BombBallSprite::spriteWithWorld(world);
bomb->getBody()->SetType(b2_staticBody);
bomb->activateCollisions();

this->addChild(bomb);

これはボディ ノード タイプです。

 this->addBodyNode(node, 0);
 node->release();

上記の2種類が1シーンで描画されます。

両方で更新すると、問題があります:

 void HelloWorld::update(float dt)
 {
     if( gameState_ != kGameStatePaused )
     {
        world_->Step(dt, velocityIterations, positionIterations);
     }

     this->checkAndSliceObjects();

}


void HelloWorld::checkAndSliceObjects()
{
double curTime = getTimeTick();

for (b2Body* b = world_->GetBodyList(); b; b = b->GetNext())
{
    if (b->GetUserData() != NULL)
    {

        PolygonSprite *sprite = (PolygonSprite*)b->GetUserData();
        BodyNode *node = (BodyNode*) b->GetUserData();
        if( node && (node->properties_ & BN_PROPERTY_SPRITE_UPDATED_BY_PHYSICS) ) {

          -------

        }

        if (sprite->getSliceEntered() && curTime > sprite->getSliceEntryTime())
        {
            sprite->setSliceEntered(false);
        }
        else if (sprite->getSliceEntered() && sprite->getSliceExited())
        {
            this->splitPolygonSprite(sprite); 
        }                      
    }

}

}

updateメソッドで以下をどのように処理するかわかりません

    PolygonSprite *sprite = (PolygonSprite*)b->GetUserData();
    BodyNode *node = (BodyNode*) b->GetUserData();

誰でも私を助けることができますか?

4

1 に答える 1