C++ 静态static 变量在 cocos2d-x 里面使用误区
2015-12-23 17:58
471 查看
void Cms::showMonster(CCArray* monsterArray,int type) { <span style="color:#ff0000;">static int posN=0; </span> for(int i=0;i<monsterArray->count();i++) { auto monsterSprite=(CCSprite*)monsterArray->objectAtIndex(i); if(type==1) { monsterSprite->setPosition(ccp(640+posN*480,4*32-16)); } if(type==2) { monsterSprite->setPosition(ccp(160+posN*640,192*2)); } this->addChild(monsterSprite); posN++; } }在上述的这段代码中,我使用了一个static 变量 posN, 在游戏又一次開始时,发现怪物的位置不在原来的位置了。 这个问题是static静态变量造成的。,我们知道静态变量是在 内存空间的静态 区域开辟的。。它有个特点,就是假设程序没有结束,虽然是场景的跳转,也无法销毁这个变量。。所以当我们再次执行这段代码是 静态变量的计数不是从零開始,而是某个值。
相关文章推荐
- cocos2d-x3.3在windows上设置窗口为竖向
- 在使用Cocos2d-JS 开发过程中需要用到的单体设计模式
- cocos2dx - android环境配置及编译
- cocos2d iOS添加广告
- Cocos2dx实现光影效果的两种方式
- cocos2d-x windows下用vs开发
- cocos2d-x 支持的开发语言
- cocos2d-x&nbsp;中的字体
- 在cocos2d-x中使用sqlite
- cocos2d-x&nbsp;获取系统当前时间
- cocos2dx绘制实心圆
- cocos2dX 事件之触摸事件和触摸事件集合
- cocos2d ccmenulabel
- cocos2dx 3.7添加手机震动
- cocos2d ccitemimage
- cocos2d 多点触控
- cocos2d 单点触控
- cocos2d-js 学习笔记 --安装调试(2)
- Cocos2d-x程序员手册(ProgrammersGuide)v3.3 第9章:3D
- cocos2d js 创建项目