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); } } }
…おっと時間が…続きは後で… ^^;