cocos2dx3.3开发FlappyBird总结十:背景层设计
2015-03-20 11:32
120 查看
游戏背景层的任务是很简单的,只是根据当前时间来显示白天或者黑夜背景图,提供获取地面的高度方法。
背景层的实现中,看看怎么判断是不是白天或者黑夜。
获取地面的高度:
下一步,说说控制层(选项层)
#ifndef __EngryBird__BackgroundLayer__ #define __EngryBird__BackgroundLayer__ #include "cocos2d.h" /** * The game background,showing the background information * in the game. */ class BackgroundLayer : public cocos2d::Layer { public: /** * The default constructor */ BackgroundLayer(); /** * The default destructor */ ~BackgroundLayer(); /** * The init method, will init the super init method first * * @return true if succeeded, otherwise false */ virtual bool init(); CREATE_FUNC(BackgroundLayer); /** * Get the land sprite height * * @return The height of land */ static float getLandHeight(); }; #endif /* defined(__EngryBird__BackgroundLayer__) */
背景层的实现中,看看怎么判断是不是白天或者黑夜。
bool BackgroundLayer::init() { if (!Layer::init()) { return false; } // Get the current time, judge whether now is day or night time_t t = time(NULL); tm *localTime = localtime(&t); int hour = localTime->tm_hour; std::string bgName; if (hour >= 6 && hour <= 17) { bgName = "bg_day"; } else { bgName = "bg_night"; } auto bgSprite = Sprite::createWithSpriteFrame(AtlasLoader::getInstance()->getSpriteFrame(bgName)); // 这里设置成(0,0),就可以从左下角开始显示至全屏 bgSprite->setAnchorPoint(Vec2::ZERO); bgSprite->setPosition(Vec2::ZERO); this->addChild(bgSprite); return true; }
获取地面的高度:
// 其实就是加载地面精灵,然后获取其内容大小的高度 float BackgroundLayer::getLandHeight() { auto spriteFrame = AtlasLoader::getInstance()->getSpriteFrame("land"); auto land = Sprite::createWithSpriteFrame(spriteFrame); return land->getContentSize().height; }
下一步,说说控制层(选项层)
相关文章推荐
- cocos2dx3.3开发FlappyBird总结六:设计共享小鸟类(主角)
- cocos2dx3.3开发FlappyBird总结十一:控制层功能设计
- cocos2dx3.3开发FlappyBird总结一:背景介绍
- cocos2dx3.3开发FlappyBird总结十二:状态层设计
- cocos2dx3.3开发FlappyBird总结三:项目剖析
- cocos2dx3.3开发FlappyBird总结八:载入场景LoadingScene
- cocos2dx3.3开发FlappyBird总结四:资源管理类
- cocos2dx3.3开发FlappyBird总结十七:结束语
- cocos2dx3.3开发FlappyBird总结十五:记录玩家得分
- cocos2dx3.3开发FlappyBird总结七:说说游戏流程
- cocos2dx3.3开发FlappyBird总结十三:数字特效类
- cocos2dx3.3开发FlappyBird总结十四:常量定义
- cocos2dx3.3开发FlappyBird总结九:欢迎场景(WelcomeScene)
- cocos2dx3.3开发FlappyBird总结五:说说屏幕适配
- cocos2dx3.3开发FlappyBird总结十六:游戏层实现
- cocos2dxFlappyBird开发总结二:开发环境介绍
- FlappyBird开发总结(五)——背景延伸
- 02.21 收费系统二次开发总结 MVC UML 设计模式 .NET
- 微内核流程引擎(IVR导航)的设计与实现(一)——开发背景
- 转载:[Share]2008年国外最佳Web设计/开发技巧、脚本及资源总结