XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
来源:互联网 发布:淘宝不清洗订单会怎样 编辑:程序博客网 时间:2024/06/10 14:37
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!
原文地址: http://www.cocos2dev.com/?p=505
因为常用cocos2dx开发游戏,所以每次新建cpp类文件的时候,XCode默认生成的cpp类基本就是一个空文件,每次都要重复实现cocos2dx的基本代码。很麻烦。(虽然我每次都是修改了HelloWorld文件,新建的文件直接copy HelloWorld内容。感觉还是挺麻烦的。)
今天就修改了下类模板,添加了2个cocos2dx的类模板,下面是新建文件的时候,是不是多出了2个类模板。
下面我就说下怎么添加xcode类模板,很简单的。
1、打开Xcode的类模板目录地址:/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates
2、打开里面C and C++文件,就会看到Xcode的cpp类模板文件。复制一个C++ Class.xctemplate文件夹取名:2dx Scene Class.xctemplate,放在C and C++目录下。
3、修改TemplateInfo.plist(主要修改创建文件时候的描述介绍)
打开2dx Scene Class.xctemplate/TemplateInfo.plist, 修改Description的值为:A C++ class for Cocos2d-x Scene.
4、修改___FILEBASENAME___.h
打开2dx Scene Class.xctemplate/___FILEBASENAME___.h,修改成以下内容:
[cpp]//// ___FILENAME___// ___PROJECTNAME___//// Created by ___FULLUSERNAME___ on ___DATE___.//___COPYRIGHT___//#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____#include "cocos2d.h"USING_NS_CC;class ___FILEBASENAMEASIDENTIFIER___ : public Layer{public:___FILEBASENAMEASIDENTIFIER___();~___FILEBASENAMEASIDENTIFIER___();static Scene* createScene();virtual bool init();CREATE_FUNC(___FILEBASENAMEASIDENTIFIER___);private:void initData();};#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */[/cpp]5、修改___FILEBASENAME___.cpp打开2dx Scene Class.xctemplate/___FILEBASENAME___.cpp,修改成以下内容:[cpp]//// ___FILENAME___// ___PROJECTNAME___//// Created by ___FULLUSERNAME___ on ___DATE___.//___COPYRIGHT___//#include "___FILEBASENAME___.h"___FILEBASENAMEASIDENTIFIER___::___FILEBASENAMEASIDENTIFIER___(){}___FILEBASENAMEASIDENTIFIER___::~___FILEBASENAMEASIDENTIFIER___(){}Scene* ___FILEBASENAMEASIDENTIFIER___::createScene(){auto scene = Scene::create();auto layer = ___FILEBASENAMEASIDENTIFIER___::create();scene->addChild(layer);return scene;}bool ___FILEBASENAMEASIDENTIFIER___::init(){if ( !Layer::init() ){return false;}initData();return true;}#pragma mark – initDatavoid ___FILEBASENAMEASIDENTIFIER___::initData(){Size visibleSize = Director::getInstance()->getVisibleSize();// add your codes here…}[/cpp]ok, 这样就完成了一个类模板的添加。现在在XCode里面新建一个2dx Scene类看看。是不是已经有默认内容了。[cpp]//// MyScene.h// MagicDemo//// Created by LiuYanghui on 13-12-27.////#ifndef __MagicDemo__MyScene__#define __MagicDemo__MyScene__#include "cocos2d.h"USING_NS_CC;class MyScene : public Layer{public:MyScene();~MyScene();static Scene* createScene();virtual bool init();CREATE_FUNC(MyScene);private:void initData();};#endif /* defined(__MagicDemo__MyScene__) */[/cpp][cpp]//// MyScene.cpp// MagicDemo//// Created by LiuYanghui on 13-12-27.////#include "MyScene.h"MyScene::MyScene(){}MyScene::~MyScene(){}Scene* MyScene::createScene(){auto scene = Scene::create();auto layer = MyScene::create();scene->addChild(layer);return scene;}bool MyScene::init(){if ( !Layer::init() ){return false;}initData();return true;}#pragma mark – initDatavoid MyScene::initData(){Size visibleSize = Director::getInstance()->getVisibleSize();// add your codes here…}[/cpp]对应的你可以添加Layer的类模板。方法一样,我就不重复了。关于文件模板里面的一个预定义变量,介绍下:macro_fileok,还有很多有趣的功能,可以大家自己探索。比如工程模板,插件等等。
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- C++ 模板类=设计 or template class operator=
- cocos2dx Layer与Scene生命周期详解
- Cocos2dx 场景类-Scene
- Nontype Class Template Parameters(非类型类模板参数)
- cocos2dx[3.2] ——核心类Director/Scene/Layer/Sprite详细讲解
- 模板类 template <class T> sort
- C++类模板 template <class T>
- C++类模板 template <class T>
- C++类模板 template <class T>
- C++类模板 template <class T>
- C++类模板 template <class T>
- C++类模板 template <class T>
- cocos2dx-3.0(9)------总结sprite、scene、director、layer
- SQL学习笔记
- oracle 多个字段去重复
- 控制台计算器(类,枚举,继承)
- C++库一览
- 下载英文书的网站
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- U盘被格式化数据怎么恢复
- Java 正则表达式教程
- 异常介绍、自定义异常、异常面试题
- node.js学习笔记(1)---win7 64位MongoDB安装及使用及可视化工具使用
- 内存池中如何保存内存块大小信息
- google云端硬盘打不开的解决办法
- 深入Java虚拟机(3)
- 这里表及以下