Cocos2d-x中单例的使用
大家都知道一个程序中只有一个导演类,eg:
CCDirector *pDirectory = CCDirector::sharedDirector();//初始化导演类。
可通过 pDirectory->属性 取得自己想要的值。
我们也可以自己设定一个类用于存储只初始化一次的量,刚开始学2dx,今天为了2个CCLayer之间传值而使用单例,设定A界面的几个参数值,当A场景切换跳转到B界面时,B需要用到A界面的这几个参数值,故单独写了个单例类用于存储数据参数。
.h:
#ifndef __ResultCar__GameData__
#define __ResultCar__GameData__
#include <iostream>
#include "cocos2d.h"
class GameData : public cocos2d::CCObject {
public:
    static GameData* sharedGameData();
    CC_PROPERTY(float, myEngine, MyEngine);
    CC_PROPERTY(float, myG, MyG);
    CC_PROPERTY(float, myFrition, MyFrition);
};
.m:
#include "GameData.h"
GameData *gameData = NULL;
GameData* GameData::sharedGameData()
{
    if(!gameData)
        gameData = new GameData();
    return gameData;
}
float GameData::getMyEngine()
{
    return myEngine;
}
void GameData::setMyEngine(float engine)
{
    myEngine = engine;
}
float GameData::getMyG()
{
    return myG;
}
void GameData::setMyG(float g)
{
    myG = g;
}
float GameData::getMyFrition()
{
    return myFrition;
}
void GameData::setMyFrition(float frition)
{
    myFrition = frition;
}
当我存储数据的时候可通过以下代码存储:
GameData::sharedGameData()->setMyEngine(myEngine); // myEngine是A界面的参数
这里设定了3个参数分别存储:
GameData::sharedGameData()->setMyG(myI); GameData::sharedGameData()->setMyFrition(myFriction);
当我在B界面用到这几个参数的时候可通过如下代码来获得:
//car_myEngine   car_myI  car_myFrition 为B界面用于接收数据的属性值
  car_myEngine =  GameData::sharedGameData()->getMyEngine();
    car_myI = GameData::sharedGameData()->getMyG();
    car_myFrition = GameData::sharedGameData()->getMyFrition();
Cocos2d-x中单例的使用的更多相关文章
- swift 中单例的写法
		在swift中单例的写法和oc的有所不同,在书写的时候又分很多种写法,,如果一个.swift 文件只创建了一个类,可以用那种dispatch_once的写法,如果一个.swift文件中有很多类的存在, ... 
- beanfactory中单例bean的初始化过程(一)
		Date 10.06 pm Point 完成beanfactory中单例bean的初始化 beanFactory.preInstantiateSingletons() 拿到所有的bean定义信息(在 ... 
- 浅谈cocos2dx(17) 中单例管理模式
		----我的生活,我的点点滴滴!. 首先明白一个问题.什么是管理者模式,管理类是用来管理一组相关对象的类,他提供了訪问对象的接口,假设这么说比較抽象的话.我们来看下cocos2dx中都有哪些类是管理类 ... 
- Java中单例
		Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍两种:懒汉式单例.饿汉式单例 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3. ... 
- SpringMVC、Struts1、Struts2和SSH2框架中单例与多例的解析
		struts1是单例提供服务,请求数据绑定在actionform里,form当做参数传入调用方法,不用实例变量就不会出现并发问题. spring mvc的contrller也是这样的模式 struts ... 
- Java中单例设计模式总结
		两种单例常见的实现方式: 1:懒汉的设计模式,在第一次调用的时候才完成相关的初始化操作 懒汉式是典型的时间换空间,就是每次获取实例都会进行判断,看是否需要创建实例,浪费判断的时间.当然,如果一直没有人 ... 
- java中单例设计模式
		在java中创建单例的方式主要有三种:饿汉式.懒汉式.登记式.以下内容均是摘抄自 http://blog.csdn.net/jason0539/article/details/23297037/ 一. ... 
- IOS中单例NSUserDefaults的使用(转)
		一.了解NSUserDefaults以及它可以直接存储的类型 http://my.oschina.net/u/1245365/blog/294449 NSUserDefaults是一个单例,在整个程序 ... 
- OC中单例的使用
		单例:一个类只能创建一个实例,保证在全局使用过程中是唯一的实例,方便统一管理. 1> 创建单例 其中的dispatch_once 的作用就是执行且在整个程序的声明周期中,仅执行一次某一个bloc ... 
随机推荐
- HBase1.0以上版本号的API改变
			HBase1.0以上版本号已经废弃了 HTableInterface,HTable,HBaseAdmin等API的使用.新增了一些API来实现之前的功能: Connectioninterface: C ... 
- 在Linux里环境变量设置的方法(export PATH)
			一般来说,配置交叉编译工具链的时候须要指定编译工具的路径,此时就须要环境变量设置.比如我的mips-linux-gcc编译器在"/opt/au1200_rm/build_tools/bin& ... 
- 【Sprint3冲刺之前】TD学生助手——alpha版发布
			TD学生助手——alpha版发布 1.设想和目标 1.我们的软件要解决的问题 TD学生助手的主要核心思想就是帮助学生安排他们忙碌的学校生活.主要是通过以下几个方面 1.通过学生的需要进行分类(考试, ... 
- 基于togglepoolmember.pl编写F5设备控制模块
			为了方便利用python对F5设备进行操作,本文将togglepoolmember.pl对F5设备的控制写成了python模块,源代码例如以下: #!/usr/bin/python # -*- cod ... 
- Django之通过tag推荐文章
			#路由 views.py def post_detail(request,year,month,day,post): ''' 文章详情 + 评论详情 :param request: :param ye ... 
- 编写mipsel mt7620 Led驱动(一)
			1.看原理图中知芯片上66引脚控制一个LED 2.在Datasheet中找出GPIO pin 3.在ProgrammingGuid System Contrl中找到GPIO控制寄存器地址: 4.控制 ... 
- linux中likely()和unlikely()
			likely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢?首先明确: if (likely(value))等价于if (value) if (unlike ... 
- 安装Redis图形监控工具---RedisLive
			RedisLive简介 RedisLive是一款用Python编写基于WEB的Redis图形监控工具,也是一款实时监控Redis数据的开源软件,以WEB的形式展现出redis中的key的情况,实例数据 ... 
- PythonCookBook笔记——函数
			函数 可接受任意数量参数的函数 接受任意数量的位置参数,使用*参数. 接受任意数量的关键字参数,使用**参数. 只接受关键字参数的函数 强制关键字参数放在某个参数后或直接单个之后. 给函数参数增加元信 ... 
- ASP.NET动态网站制作(1)--html
			前言:正式上课的第一课,讲的是前端部分的最基础内容:html. 前端:html,css,js 数据库:sql server 动态部分:.net,c#... IIS(Internet Informati ... 
