自動落下まではできた…
今日は userData に設定した CCSprite を Box2d に結びつけるトコロをやって行こうと思います。
update()の中で随時更新する感じですね。
void HelloWorld::update(float delta)
{
{
float32 timeStep = (1.0f / 60.0f);
int32 velocityIterations = 10;
int32 positionIterations = 10;
_world->Step(timeStep, velocityIterations, positionIterations);
}
//Box2dの情報をCCSpriteに反映
{
for (b2Body * b = _world->GetBodyList(); b; b = b->GetNext())
{
if (b->GetUserData())
{
CCSprite * ball = (CCSprite *)b->GetUserData();
b2Vec2 b2Pos = b->GetPosition();
CCPoint pos = ccpMult(ccp(b2Pos.x, b2Pos.y), PTM_RATIO);
ball->setPosition(pos);
float32 radians = b->GetAngle();
float angle = -CC_RADIANS_TO_DEGREES(radians);
ball->setRotation(angle);
}
}
}
}
for文の回し方がおもしろいなー。
シミュレーターで動かしてみたのがこんな感じ。

おー画像も動いたー。^^
今日は、最後に、デストラクタで後片付け。 ^^;
HelloWorld::~HelloWorld()
{
this->unscheduleUpdate();
CC_SAFE_DELETE(_debugDraw);
CC_SAFE_DELETE(_world);
}
static_body は明日… ^^;