cocos2d-x-3.16 实例开发之FlappyBird【3】欢迎界面

一、欢迎界面比较简单,由背景、标题、鸟、开始按钮、地面构成

1、背景

    //通过时间判断是白天还是晚上加载不同的图片资源
	time_t t = time(NULL);
	tm* lt = localtime(&t);
	int hour = lt->tm_hour;
	//create the background image according to the current time;
	Sprite *background;
	if(hour >= 6 && hour <= 17){
		 background = Sprite::createWithSpriteFrameName("bg_day.png");
	}else{
		background = Sprite::createWithSpriteFrameName("bg_night.png");
	}
	background->setAnchorPoint(Point::ZERO);
	background->setPosition(Point::ZERO);
	this->addChild(background);

2、开始按钮

    //add the start-menu to the current scene
	Sprite *startButton = Sprite::createWithSpriteFrameName("button_play.png");
	Sprite *activeStartButton = Sprite::createWithSpriteFrameName("button_play.png");
	activeStartButton->setPositionY(5);
	auto menuItem  = MenuItemSprite::create(startButton,activeStartButton,NULL,CC_CALLBACK_1(WelcomeLayer::menuStartCallback, this));
	menuItem->setPosition(Point(origin.x + visiableSize.width/2 ,origin.y + visiableSize.height*2/5));
    //将menuItem菜单项加入到Menu菜单中
    auto menu = Menu::create(menuItem,NULL);
	menu->setPosition(Point(origin.x ,origin.y));
	this->addChild(menu,1);

3、地面

地面的移动是通过两张图片拼接循环移动的效果

    // Add the land
	this->land1 = Sprite::createWithSpriteFrameName("land.png");
	this->land1->setAnchorPoint(Point::ZERO);
	this->land1->setPosition(Point::ZERO);
	this->addChild(this->land1);

	this->land2 = Sprite::createWithSpriteFrameName("land.png");
	this->land2->setAnchorPoint(Point::ZERO);
	this->land2->setPosition(this->land1->getContentSize().width - 2.0f, 0);
	this->addChild(this->land2);

	this->schedule(schedule_selector(WelcomeLayer::scrollLand), 0.01f);

4、挥动翅膀的小鸟

    //create a bird and set the position in the center of the screen
	this->bird = BirdSprite::getInstance();
	this->bird->createBird();
	this->bird->setTag(BIRD_SPRITE_TAG);
	this->bird->setPosition(Point(origin.x + visiableSize.width / 2,origin.y + visiableSize.height*3/5 - 10));
	this->bird->idle();
	this->addChild(this->bird);

小鸟作为单独的类会在下一节讲解

项目源码托管在Github:https://github.com/smiger/FlappyBird


发表评论

(必填)

(必填)

(以便回访)

博客已稳定运行: 访问量:156,326 views 网站备案号:闽ICP备17026396号-1