Пример #1
0
void RoundConfig::readSpecJson(const JsonLoader &loader,
                               const Json::Value &obj) {
  SpecType type;
  loader.readVal(obj["_type"], &type);
  switch (type) {
    case SPEC_BRICK:
      loader.readVal(obj, &addBrick());
      break;
    case SPEC_BRICK_RING:
      loader.readVal(obj, &addBrickRing());
      break;
    case SPEC_BRICK_QUADS:
      loader.readVal(obj, &addBrickQuads());
      break;
    case SPEC_WALL:
      loader.readVal(obj, &addWall());
      break;
    case SPEC_WALL_RING:
      loader.readVal(obj, &addWallRing());
      break;
    case SPEC_CURVED_BRICK_COLUMN:
      loader.readVal(obj, &addCurvedBrickColumn());
      break;
    case SPEC_CURVED_WALL:
      loader.readVal(obj, &addCurvedWallSet());
      break;
    case SPEC_BALL: {
      BallSpec spec;
      loader.readVal(obj, &spec);
      addBall(spec);
      break;
    }
    case SPEC_MODIFIER: {
      ModifierSpec spec;
      loader.readVal(obj, &spec);
      addModifierDef(spec.name, spec);
      break;
    }
    case SPEC_MESSAGE: {
      MessageSpec spec;
      loader.readVal(obj, &spec);
      addStartMessage(spec);
      break;
    }
    case SPEC_RING_SET:
      loader.readVal(obj, &addRingSet());
      break;
    case SPEC_UNKNOWN:
    default:
      //...
      break;
  }
}
Пример #2
0
GameLayer::GameLayer()
{
	//TODO...
	//create game including loading game data from file,

	CCSprite* background = CCSprite::create("gfx/nukeback.png");
	addChild(background);
	float xBck = (GameAreaDef::getBallMoveRect().getMaxX()+GameAreaDef::getBallMoveRect().getMinX())/2;
	float yBck = (GameAreaDef::getBallMoveRect().getMaxY()+GameAreaDef::getBallMoveRect().getMinY())/2;
	background->setPosition(ccp(xBck, yBck));
	background->setScaleY(1.75);

	m_ballVelocity = ccp(40.0f, -400.0f);
	m_ball = Ball::ballWithTexture(CCTextureCache::sharedTextureCache()->addImage("gfx/balls.png"), CCRectMake(0,0,12,12));
	m_ball->setVelocity(m_ballVelocity);
	m_ball->setPosition(ccp(120, 120));
	addChild(m_ball);
	m_ball->retain(); //release from GameDirector
	GameDirector::sharedGameDirector()->addBall(m_ball);

	CCTexture2D* paddleTexture = CCTextureCache::sharedTextureCache()->addImage("gfx/paddle.png");
	m_paddle = Paddle::paddleWithTexture(paddleTexture);
	m_paddle->setTextureRect(CCRectMake(0,0,54,18));
	m_paddle->setPosition(ccp(54, 20));
	addChild(m_paddle);
	m_paddle->retain();
	GameDirector::sharedGameDirector()->addPaddle(m_paddle);

/*
	CCTexture2D* brickTexture = CCTextureCache::sharedTextureCache()->addImage("gfx/bricks.png");
	m_brick = Brick::createBrick(brickTexture);
	m_brick->setBrickStatu(BRICK_GREEN);
	m_brick->setPosition(ccp(100, 200));
	addChild(m_brick);
	m_brick->retain();  //release from GameDirector
	GameDirector::sharedGameDirector()->addBrick(m_brick);
*/
	for (int i = 0; i < 5; i++)
	{
		addBrick(ccp(100+60*i, 600));
	}
	schedule(schedule_selector(GameLayer::update));
}