当前位置: 首页 > news >正文

郑州汉狮做网站好不/信息流广告是什么意思

郑州汉狮做网站好不,信息流广告是什么意思,菏泽做网站的公司,html5视频播放器例子转自:http://blog.csdn.net/we000636/article/details/8536878 我们在C往往能用到单例模式,但在cocos2d-x中,运用单例模式时,您是否遇到了麻烦,各种“无法解析”,“error LNK"错误出来。 下面我用个例…

转自:http://blog.csdn.net/we000636/article/details/8536878


我们在C++往往能用到单例模式,但在cocos2d-x中,运用单例模式时,您是否遇到了麻烦,各种“无法解析”,“error LNK"错误出来。

下面我用个例子简单介绍下单例模式在cocos2d-x是如何编写的:


这里我编写一个类Global,用来存储游戏中全局都可以访问的唯一变量,这就要求我们随时可以在任意对象中能访问Global,来读取里面存储的唯一变量

头文件如下:

[cpp] view plaincopyprint?
  1. #ifndef _GLOBAL_H_
  2. #define _GLOBAL_H_
  3. #include "cocos2d.h"
  4. #include "StartLayer.h"
  5. class Global{
  6. public:
  7. StartLayer* startLayer; //存储全局可以访问的唯一性变量
  8. static Global* toIns(); //通过这个方法返回Global对象
  9. protected:
  10. ~Global();
  11. };
  12. #endif
#ifndef _GLOBAL_H_
#define _GLOBAL_H_#include "cocos2d.h"
#include "StartLayer.h"class Global{
public:StartLayer* startLayer; //存储全局可以访问的唯一性变量static Global* toIns(); //通过这个方法返回Global对象
protected:~Global();
};#endif

Cpp文件如下:

[cpp] view plaincopyprint?
  1. #include "Global.h"
  2. using namespace cocos2d;
  3. static Global* share=NULL; //这行非常重要,我们之前犯的错误就是C++习惯,将此变量声明和初始化放在头文件中,导致错误
  4. Global::~Global(void){
  5. startLayer = NULL;
  6. }
  7. Global* Global::toIns(){
  8. if(!share){
  9. share = new Global();
  10. CCLOG("first");
  11. }
  12. CCLOG("hello");
  13. return share;
  14. }
#include "Global.h"using namespace cocos2d;
static Global* share=NULL; //这行非常重要,我们之前犯的错误就是C++习惯,将此变量声明和初始化放在头文件中,导致错误
Global::~Global(void){startLayer = NULL;
}
Global* Global::toIns(){if(!share){share = new Global();CCLOG("first");}CCLOG("hello");return share;
}


也可以这样做:

头文件如下:

[cpp] view plaincopyprint?
  1. #ifndef _GLOBAL_H_
  2. #define _GLOBAL_H_
  3. #include "cocos2d.h"
  4. #include "StartLayer.h"
  5. class Global{
  6. public:
  7. StartLayer* startLayer;
  8. static Global* toIns();
  9. static Global* share; //静态变量声明在这里
  10. protected:
  11. ~Global();
  12. };
  13. #endif
#ifndef _GLOBAL_H_
#define _GLOBAL_H_#include "cocos2d.h"
#include "StartLayer.h"class Global{
public:StartLayer* startLayer;static Global* toIns();static Global* share;  //静态变量声明在这里
protected:~Global();
};#endif

CPP文件如下:

[cpp] view plaincopyprint?
  1. #include "Global.h"
  2. using namespace cocos2d;
  3. //static Global* share=NULL;
  4. Global* Global::share = NULL; //静态变量初始化放在这,而不是放在头文件中
  5. Global::~Global(void){
  6. startLayer = NULL;
  7. }
  8. Global* Global::toIns(){
  9. if(!share){
  10. share = new Global();
  11. CCLOG("first");
  12. }
  13. CCLOG("hello");
  14. return share;
  15. }
#include "Global.h"using namespace cocos2d;
//static Global* share=NULL;
Global* Global::share = NULL;  //静态变量初始化放在这,而不是放在头文件中
Global::~Global(void){startLayer = NULL;
}
Global* Global::toIns(){if(!share){share = new Global();CCLOG("first");}CCLOG("hello");return share;
}


将代码运用到你的工程中,你学会了吗?

例外你也可以参考cocos2d-x中本身的单例(例如CCDirector)里面的代码,它们是如何实例单例的


http://www.jmfq.cn/news/5295133.html

相关文章:

  • 做黄网站赚钱吗/seo研究中心vip教程
  • 西咸新区规划建设局网站/seo排名优化哪家好
  • 大兴安岭建设局网站/如何优化搜索引擎
  • 上海制作企业网站/名优网站关键词优化
  • 科技助手/沈阳seo优化排名公司
  • 网站的登录注册页面怎么做/网站seo设置是什么
  • 手机版免费个人简历模板/天津seo推广
  • 深圳市住房和建设局网站住房保障/宁波seo行者seo09
  • 钓鱼网站如何做/在线服务器网站
  • 一键生成网站/网络营销工程师
  • 做网站不优化/公司怎么在百度上推广
  • 如何做网站不容易被攻击/seo内部优化方案
  • 备案的网站名/百度竞价被点击软件盯上
  • 广州做网站公司哪家好/百度域名查询
  • 网站建设佰首选金手指十二/品牌营销策略
  • 药品网站如何建设/网站网页设计
  • 惠州建设银行网站/淘宝运营培训班
  • 怎么做国外的网站吗/购买链接怎么买
  • 微信服务号菜单链接网站怎么做/网站排名费用
  • 做网站遇上麻烦客/百度建站云南服务中心
  • 自考在线做试卷的网站/百度手机端排名如何优化
  • 中国人民银行网站官网/怎样联系百度客服
  • 学做网站论坛vip号码/什么是搜索引擎营销?
  • 网页设计模板网/seo案例分析及解析
  • 江门外贸网站建设/网络运营与推广
  • 网站建设 起飞/seo优化收费
  • 网站建设福建/宁波seo公司
  • 雄安移动网站建设/四川旅游seo整站优化站优化
  • 网站开发编程环境/大数据营销软件
  • 想开个网站怎样开公司/网络推广技巧