【cocos2d-x不要在生产白片步骤】第二项:制作Block分类
2015-11-05 18:07
441 查看
由于游戏非常多使用阻断,因此,我们创建了一个单独的类中Block。
于Blcok.h声明了两个初始化函数:
由于方块有涉及到颜色、大小、字、字体大小、字体颜色,所以我们把这些都写进了參数里面。
用Vector来存放block,便于管理
在cpp中文件来详细实现这两个函数以及blocks:
另外还需一个函数来移除Vector中的block
于Blcok.h声明了两个初始化函数:
static Block* createWithArgs(Color3B color, Size size, std::string label, float fontSize, Color4B textColor); //初始化參数:方块颜色、方块大小、字、字体大小、字体颜色 virtual bool initWithArgs(Color3B color, Size size, std::string label, float fontSize, Color4B textColor);
由于方块有涉及到颜色、大小、字、字体大小、字体颜色,所以我们把这些都写进了參数里面。
用Vector来存放block,便于管理
//用来存放block static Vector<Block*> * blocks;
在cpp中文件来详细实现这两个函数以及blocks:
//初始化blocks Vector<Block*> * Block::blocks = new Vector<Block*>(); Block* Block::createWithArgs(Color3B color, Size size, std::string label, float fontSize, Color4B textColor) { auto b = new Block(); b->initWithArgs(color, size, label, fontSize, textColor); b->autorelease(); //将b加入到blocks中 blocks->pushBack(b); return b; } //初始化參数:方块颜色、方块大小、字、字体大小、字体颜色 bool Block::initWithArgs(Color3B color, Size size, std::string label, float fontSize, Color4B textColor) { Sprite::init(); //设置大小 setContentSize(size); //设置锚点为左下角 setAnchorPoint(Point::ZERO); //设置区域 setTextureRect(Rect(0, 0, size.width, size.height)); //设置颜色 setColor(color); //设置文字 auto myLabel = Label::create(); myLabel->setString(label); myLabel->setSystemFontSize(fontSize); myLabel->setTextColor(textColor); addChild(myLabel); myLabel->setPosition(size.width/2, size.height/2); return true; }
另外还需一个函数来移除Vector中的block
//从Vector中移除blocks void Block::removeBlock() { removeFromParent(); blocks->eraseObject(this); }
相关文章推荐
- cocos进阶教程(3)Lua加密技术
- JS-Cocos2D-js工程的配置及发布
- cocos2d-x在win7下的android交叉编译环境
- cocos2d-js使用clippingNode
- cocos2dx中onExitTransitionDidStart、onExit和onEnter、onEnterTransitionDidFinish处理机制
- cocos2d-JS中场景(scene)之前如何传参。
- cocos 的49个常用action
- 用Cocos Quick+Lua写的射击游戏——月球战士(MoonWarriors)附源码
- cocos2d-x-3.2 OrbitCamera使用
- cocos2dx项目打包apk(一)
- Cocos2dx-- 图片置灰实现
- Cocos2d-x之CCImage深入分析
- <二> cocos2dx常见49种Action
- Cocos2d-x 单机游戏防八门神器修改数据
- 移植到Cocos2d-x 3.8.1错误之一(Cannot open include file: 'extensions/ExtensionExport.h')
- 移植到Cocos2d-x 3.8.1错误之一(Cannot open include file: 'extensions/ExtensionExport.h')
- ios 关于cocos2dx 3.2微信分享好友成功返回游戏卡死的情况处理
- cocos2d js的一些方法
- cocos2d简介
- [重新认识cocos2dx---工具篇] 一 cocos命令行之语言包MultiLanguage