文档章节

​如何在cocos2d-x 项目中增加全局变量

暖冰
 暖冰
发布于 2015/11/14 10:15
字数 241
阅读 43
收藏 0

如何在cocos2d-x 项目中增加全局变量

    最近在研究如何自动运行cocos2d-x的测试工程,需要在testCpp工程中加入一个自定义的全局指针,指向现在正在运行的测试例。这个全局指针应该放哪里好呢? 研究了一下,发现放在AppDelegate里最好。其实这个设计是从iOS 上移植过来的,做过iOS开发的童鞋会很熟悉。代码如下:


class  AppDelegate : private cocos2d::Application
{
public:
    AppDelegate();
    virtual ~AppDelegate();

    virtual bool applicationDidFinishLaunching();
    virtual void applicationDidEnterBackground();
    virtual void applicationWillEnterForeground();


    BaseTest* getCurrentTest();
    void setCurrentTest(BaseTest* curTest);
private:
    BaseTest* _curTest;

}; 


当然,这个全局指针不能直接暴露出来,用了getter/setter来访问。

那么,在程序的其他地方如何调用呢? 也很简单:

void BaseTest::onEnter()
{
Layer::onEnter();


    AppDelegate* app = (AppDelegate *)Application::getInstance();
    app->setCurrentTest(this);

    ....

}

getInstance() 是cocos2d::Application类的静态函数,可以直接使用。

这里用到了C++的单例模式。



本文转载自:http://www.xuebuyuan.com/2126657.html

共有 人打赏支持
暖冰
粉丝 47
博文 124
码字总数 116908
作品 1
长沙
程序员
私信 提问
使用 Cocos2d-x 3.0 或者更新版本构建多平台游戏

在这个教程中,你将学到如何在 Windows 开发环境中使用 Cocos2d-x 3.0 或更高版本来创建一个简单的游戏,和如何在 Windows 和 Android 平台上运行它。 Cocos2d-x 是什么? Cocos2d-x 是一个跨...

oschina
2015/04/08
4.8K
10
Cocos2d-X游戏工具开发之一:将Cocos2d-X嵌入MFC的子窗体方法讲解

[Cocos2d-x相关教程来源于红孩儿的游戏编程之路 CSDN博客地址:http://blog.csdn.net/honghaier] 红孩儿Cocos2d-X学习园地QQ群:249941957 加群写:Cocos2d-x 另本章为我的Cocos2d-x教程一书...

长平狐
2012/11/19
934
0
Cocos2d-X游戏工具开发之一:将Cocos2d-X嵌入MFC的子窗体方法讲解

[Cocos2d-x相关教程来源于红孩儿的游戏编程之路 CSDN博客地址:http://blog.csdn.net/honghaier] 红孩儿Cocos2d-X学习园地QQ群:249941957 加群写:Cocos2d-x 另本章为我的Cocos2d-x教程一书...

长平狐
2013/03/19
60
0
Cocos2d-X 2.0嵌入MFC的子窗体的方法(1.0姐妹篇)

红孩儿的游戏编程之路 CSDN博客地址:http://blog.csdn.net/honghaier 红孩儿Cocos2d-X学习园地QQ群:249941957 加群写:Cocos2d-x 另本章为我的Cocos2d-x教程一书初稿。望各位看官多提建议!...

长平狐
2012/11/19
388
0
Cocos2d-x 3.0rc0 的Win32工程添加CocoStudio库

在新建Cocos 3.0rc0的Win32的工程中添加CocoStudio的支持. 一 软件及其下载 1. Cocos2d-x 3.0rc http://cdn.cocos2d-x.org/cocos2d-x-3.0rc0.zip 2. CocoStudio 1.3 在CocoStudio 1.3中可以直......

千山万水
2014/06/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
2
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
4
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
4
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
3
0
《万历十五年》的读后感作文4000字

《万历十五年》的读后感作文4000字: 万历十五年,即1587年,距今已过去432年。在明朝276的历史中,这一年很平淡,并没有什么特别之处。黄仁宇的《万历十五年》一书,有别于其他的历史叙述方...

原创小博客
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部