ControlExtensionTest(一)
#ifndef __CCCONTROLSCENE_H__
#define __CCCONTROLSCENE_H__ #include "cocos2d.h"
#include "cocos-ext.h" USING_NS_CC;
USING_NS_CC_EXT;
//创建层的同时赋值标题
#define CONTROL_SCENE_CREATE_FUNC(controlScene) \
public: \
static CCScene* sceneWithTitle(const char * title) \
{ \
CCScene* pScene = CCScene::create(); \
controlScene* controlLayer = new controlScene(); \
if (controlLayer && controlLayer->init()) \
{ \
controlLayer->autorelease(); \
controlLayer->getSceneTitleLabel()->setString(title); \
pScene->addChild(controlLayer); \
} \
else \
{ \
CC_SAFE_DELETE(controlLayer); \
} \
return pScene; \
} //创建访问器,get和set
#define CC_SYNTHESIZE_RETAIN(varType, varName, funName) \
private: varType varName; \
public: virtual varType get##funName(void) const { return varName; } \
public: virtual void set##funName(varType var) \
{ \
if (varName != var) \
{ \
CC_SAFE_RETAIN(var); \
CC_SAFE_RELEASE(varName); \
varName = var; \
} \
} class CCControlScene : public CCLayer
{
public:
CCControlScene();
~CCControlScene();
bool init();
// Menu Callbacks
void toExtensionsMainLayer(CCObject* sender);
void previousCallback(CCObject* sender);
void restartCallback(CCObject* sender);
void nextCallback(CCObject* sender); /** Title label of the scene. */
CC_SYNTHESIZE_RETAIN(CCLabelTTF*, m_pSceneTitleLabel, SceneTitleLabel) CONTROL_SCENE_CREATE_FUNC(CCControlScene);
}; #endif /* __CCCONTROLSCENE_H__ */
//删除指针,并赋值为空
#define CC_SAFE_RELEASE_NULL(p) do { if(p) { (p)->release(); (p) = 0; } } while(0) CCControlScene::~CCControlScene()
{
CC_SAFE_RELEASE_NULL(m_pSceneTitleLabel);
}
ControlExtensionTest(一)的更多相关文章
- ControlExtensionTest(二)-----CCControlSlider
#include "../CCControlScene.h" class CCControlSliderTest : public CCControlScene { public: ...
- 按 Eclipse 开发喜好重新布置 cocos2dx 目录层次
[tonyfield 2013.08.29 ] 1. Cocos2dx 库的改动 处于个人的固执,花一天时间重新布置了cocos2dx 2.1.4的目录层次,将android平台无关的代码全数裁剪, ...
随机推荐
- 【读书笔记】Flickr 网站用户标签的质量控制对策
1.一些背景 标签技术重要意义 标签技术如今已经被广泛应用于包括网络书签.博客.播客.视频分享等在内的多种 Web2. 0 服务 Flickr简介 Flickr 是一集图片存放 交友 组群 邮件等功能 ...
- jdbc详解(一)
JDBC简介 l 数据库驱动 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC l JDBC 全称为: Java Data Base Connectivity ...
- reset.css 和 flexible.js
重置css默认样式(淘宝): body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, f ...
- OpenERP7.0安装后提示“not supported" ,如何去掉此提示
转自:http://blog.csdn.net/vnsoft/article/details/17581831 下载了新版本的OpenERP7.0安装测试,发现在登录后会提示如图的内容. 经过测试发现 ...
- vs2013没有代码提法的一种解决办法
把这两个勾去掉,然后关掉vs再打开,最后重新勾选上就行了.
- mysql-cluster 7.3.5-linux 安装
[集群环境] 管理节点 10.0.0.19 数据节点 10.0.0.12 10.0.0.17 sql节点 10.0.0.18 10.0.0 ...
- Python之os.walk()
#http://www.cnblogs.com/bluescorpio/archive/2009/10/21/1587493.html os.walk() 返回结果:可以得到一个(dirpath, d ...
- 19、Java访问修饰符
修饰符 本类 同一个包中的类 子类 其它类 public 可以访问 可以访问 可以访问 可以访问 protected 可以访问 可以访问 可以访问 不能访问 默认 可以访问 可以访问 不能访问 不能访 ...
- centos7编译python3.6与原有的2.7共存
在某些场景下我们可能需要python2.7和python3这两个版本进行共存,我在工作中也遇到过这样的问题,所以今天来总结下我的安装过程, 我的是用源码包安装的,安装的是python3.6的版本. 安 ...
- Laravel中的信息验证 和 语言包
首先,谈下语言包的问题 1.安装语言包,通过composer进行安装 composer require "overtrue/laravel-lang:dev-master" 2.成 ...