Adding a game over scene
… おっゲームオーバーへ画面遷移するのね。なんだかクライマックスへ一気に加速ですね。
チュートリアルにあるようにゲームオーバー(CCLayerColorを継承)を用意して、画面遷移後3秒後にまたゲーム画面に戻ってくる仕様を実装しました。
Adding some blocks
とりあえず、ブロックを4個置く実装。この辺はやっと慣れてきたかなー… ^^;
//ブロック
{
for (int i = 0; i < 4; i++)
{
CCSprite * sprite = NULL;
{
sprite = CCSprite::create("block.png");
CCPoint pos = CCPointZero;
{
static int padding = 20;
const CCSize size = sprite->getContentSize();
int xOffset = padding + (size.width * 0.5f);
xOffset += (padding + size.width) * i;
pos = ccp(xOffset, visibleSize.height - (size.height * 0.5f + 10.0f));
}
sprite->setPosition(pos);
sprite->setTag(2);
this->addChild(sprite);
}
b2Body * body = NULL;
{
b2Vec2 vecPos;
{
CCPoint pos = sprite->getPosition();
pos = ccpMult(pos, 1.0f / PTM_RATIO);
vecPos = b2Vec2(pos.x, pos.y);
}
b2BodyDef bodyDef;
bodyDef.type = b2_dynamicBody;
bodyDef.position.Set(vecPos.x, vecPos.y);
bodyDef.userData = sprite;
body = _world->CreateBody(&bodyDef);
}
if (body)
{
b2PolygonShape shape;
{
b2Vec2 vecSize;
{
CCSize size = sprite->getContentSize();
//半径
vecSize = b2Vec2((size.width * 0.5f) / PTM_RATIO,
(size.height * 0.5f) / PTM_RATIO);
}
shape.SetAsBox(vecSize.x, vecSize.y);
}
b2FixtureDef fixtureDef;
{
fixtureDef.shape = &shape;
fixtureDef.density = 10.0f;
fixtureDef.friction = 0.0f;
fixtureDef.restitution = 0.1f;
}
body->CreateFixture(&fixtureDef);
}
}
}
…おっと時間が…続きは後で… ^^;