Lab

Cocos2d-x:Box2Dの壁の削除

 Tag :  Published : 2013-12-27

Pocket

Box2Dで、一度作成した壁を削除します。

1.下準備

Box2dのテンプレートを使用します。テンプレートの利用に関してはこちらのページをどうぞ。
おなじみのこれですね。

cocos2d-x Box2dのテンプレート

2.Fixture(壁)の削除

壁はinitPhysics内で作成されています。下の壁を削除してみます。

HelloWorldScene.cpp

void HelloWorld::initPhysics()
{
    // 途中省略

    // 下の壁を作成
    groundBox.Set(b2Vec2(0,0), b2Vec2(s.width/PTM_RATIO,0));
    b2Fixture* bottomFixture = groundBody->CreateFixture(&groundBox,0);
    
    // 下の壁(bottomFixture)を削除
    groundBody->DestroyFixture(bottomFixture);
}
    

実行すると、アルファベットのボックスが画面下へどんどん落っこちていきます。

pageTop