《保卫萝卜》项目实践心得
2016-10-22 15:09
253 查看
1️⃣如何一张1280*740 RGB4448的图片所占内存大小
图片大小必须为2^n,不足的往大的靠,如上就是占用2048*1024Byte
再乘上色素乘色深 即(4*3+8)
将其转化为M 即除以(8*1024*1024) 8byte=1B 1204B=1KB 1024KB=1M
即2048*1024*(4*3+8)/(8*1024*1024)=
2️⃣定义宏的时候注意句尾无分号,在宏里面定义函数格式如下所示:
区别与单行的宏定义是句尾的\
//添加精灵
#define CREATE_SPRITE(__NAME__, __RESOURCE__, __POSTOIN__,__ZORDER) \
auto __NAME__ =Sprite::createWithSpriteFrameName(__RESOURCE__);\
__NAME__->setPosition(__POSTOIN__);\
addChild(__NAME__,__ZORDER);\
3️⃣ (1) int
a =100;
char str[30];
sprintf(str,"num:%d",a); // 将num与a的值连接起来给str
(2)StringUtils::format(“name:%d",moneyCount) ;//
将moneyCount整形与“”内的name拼接为string并返回本身,即此行代码表示一个字符串
总结:作用大致类似,好像(2)代码量少些
4️⃣ 暂停功能的实现
RenderTexture 的使用
RenderTexture 原理是将此界面的所有控件遍历一遍后描绘一张纹理图片
#pragma mark
菜单回调函数
void
GameScene::menu_call(Ref * sender){
RenderTexture* sqr = RenderTexture::create(VISIABLESIZE.width, VISIABLESIZE.height);
sqr->begin();// 遍历开始
this->getParent()->visit();
// 从父类(顶层)扫描
sqr->end();
//
遍历结束
Director::getInstance()->pushScene(GamePause::creatPauseScene(sqr));}
// 调用
Scene * GamePause::creatPauseScene(RenderTexture* sqr){
Scene * scene = Scene::create();
Layer * layer = GamePause::create();
scene->addChild(layer);
auto back_sqr = Sprite::createWithTexture(sqr->getSprite()->getTexture());// 转换为精灵图片
back_sqr->setPosition(VISIABLESIZE/2);
back_sqr->setFlippedY(true);
back_sqr->setColor(Color3B::GRAY);
scene->addChild(back_sqr);
return
scene;}
图片大小必须为2^n,不足的往大的靠,如上就是占用2048*1024Byte
再乘上色素乘色深 即(4*3+8)
将其转化为M 即除以(8*1024*1024) 8byte=1B 1204B=1KB 1024KB=1M
即2048*1024*(4*3+8)/(8*1024*1024)=
2️⃣定义宏的时候注意句尾无分号,在宏里面定义函数格式如下所示:
区别与单行的宏定义是句尾的\
//添加精灵
#define CREATE_SPRITE(__NAME__, __RESOURCE__, __POSTOIN__,__ZORDER) \
auto __NAME__ =Sprite::createWithSpriteFrameName(__RESOURCE__);\
__NAME__->setPosition(__POSTOIN__);\
addChild(__NAME__,__ZORDER);\
3️⃣ (1) int
a =100;
char str[30];
sprintf(str,"num:%d",a); // 将num与a的值连接起来给str
(2)StringUtils::format(“name:%d",moneyCount) ;//
将moneyCount整形与“”内的name拼接为string并返回本身,即此行代码表示一个字符串
总结:作用大致类似,好像(2)代码量少些
4️⃣ 暂停功能的实现
RenderTexture 的使用
RenderTexture 原理是将此界面的所有控件遍历一遍后描绘一张纹理图片
#pragma mark
菜单回调函数
void
GameScene::menu_call(Ref * sender){
RenderTexture* sqr = RenderTexture::create(VISIABLESIZE.width, VISIABLESIZE.height);
sqr->begin();// 遍历开始
this->getParent()->visit();
// 从父类(顶层)扫描
sqr->end();
//
遍历结束
Director::getInstance()->pushScene(GamePause::creatPauseScene(sqr));}
// 调用
Scene * GamePause::creatPauseScene(RenderTexture* sqr){
Scene * scene = Scene::create();
Layer * layer = GamePause::create();
scene->addChild(layer);
auto back_sqr = Sprite::createWithTexture(sqr->getSprite()->getTexture());// 转换为精灵图片
back_sqr->setPosition(VISIABLESIZE/2);
back_sqr->setFlippedY(true);
back_sqr->setColor(Color3B::GRAY);
scene->addChild(back_sqr);
return
scene;}
相关文章推荐
- 第七周实践项目1————线段类——成员函数、友元函数和一般函数的综合及学习心得
- Python编程快速上手 4.10实践项目菜鸟心得
- 软件项目中的测试的一点实践心得
- 《保卫萝卜》项目实践(2)
- 摘要:软件项目中的测试的一点实践心得
- 软件项目心得[purecoffee]
- H.323协议阅读心得(1)——实践到理论的升华
- 项目管理实践入门初探(三)
- 技术和项目管理工作心得
- 项目心得一
- 软件项目中测试实践
- 项目需求调研心得(1)
- jsp和excel的数据交换-----我的项目实践
- 十二种实践方法与我的XP心得
- 如何在项目实践中扩展Struts
- 项目实践点点滴滴
- 项目管理培训中的心得
- 十二种实践方法与我的XP心得
- 软件项目管理实践(上)--项目管理的概念及项目的过程管理
- 记录一点项目心得...