添加cocos2dX场景类模板。可以更快捷的开发游戏。。。

使用cocos2dx开发游戏,每次新建cpp类文件的时候,XCode默认生成的cpp类基本就是一个空文件,每次都要重复实现cocos2dx的基本代码。不是一般的烦。

于是想办法修改了下类模板,添加了1个cocos2dx的类模板,下面是新建文件的时候,就多出了一个类模板。


下面我就说下怎么添加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,修改成以下内容:

//
//  ___FILENAME___
//  ___PROJECTNAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//

#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____

#include "cocos2d.h"
USING_NS_CC;
class ___FILEBASENAMEASIDENTIFIER___ : public CCLayer
{
public:
    static CCScene* scene();
    virtual bool init();
    virtual void onEnterTransitionDidFinish();
    virtual void onEnter();
    virtual void onExit();
    void loadStartResouce();
	void setBackGround();
    virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
    virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
    void changeToOtherScene( float time);
    
    
private:
    CCSize screanSize;
    CREATE_FUNC(___FILEBASENAMEASIDENTIFIER___);
};
#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */

5、修改___FILEBASENAME___.cpp

打开2dx Scene Class.xctemplate/___FILEBASENAME___.cpp,修改成以下内容:

//
//  ___FILENAME___
//  ___PROJECTNAME___
//  肖东毅独有的游戏场景类,啊哈哈
//  Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//

#include "___FILEBASENAME___.h"
CCScene * ___FILEBASENAMEASIDENTIFIER___ ::scene()
{
    CCScene *scene = CCScene::create();
    ___FILEBASENAMEASIDENTIFIER___ *layer = ___FILEBASENAMEASIDENTIFIER___::create();
    scene->addChild(layer);
    return scene;
}

bool ___FILEBASENAMEASIDENTIFIER___::init()
{
	if (!CCLayer::init()) {
		return false;
	}
    setTouchEnabled(true);
    screanSize = CCDirector::sharedDirector()->getWinSize();
    
    loadStartResouce();
    setBackGround();
    
    
	return true;
}

void ___FILEBASENAMEASIDENTIFIER___::onEnter()
{
    CCLayer::onEnter();
    CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 1, true);
    
    
}


void ___FILEBASENAMEASIDENTIFIER___::onEnterTransitionDidFinish()
{
	CCLayer::onEnterTransitionDidFinish();
    
    
}
void ___FILEBASENAMEASIDENTIFIER___::onExit()
{
    CCLayer::onExit();
    CCDirector::sharedDirector()->getTouchDispatcher()->removeAllDelegates();
    CCTextureCache::sharedTextureCache()->removeUnusedTextures();
    
    
}

void ___FILEBASENAMEASIDENTIFIER___::loadStartResouce()
{
    
}

void ___FILEBASENAMEASIDENTIFIER___::setBackGround()
{
    
    
}
bool ___FILEBASENAMEASIDENTIFIER___::ccTouchBegan (CCTouch *pTouch, CCEvent *pEvent)
{
    
    CCLog("touch start...");
    return true;
}


void ___FILEBASENAMEASIDENTIFIER___::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
{
    //这里获取的是设备的UIView坐标,原点在左上角,X向右侧递增,Y向下递增。
    CCPoint touchLoaction = pTouch->getLocationInView();
    //获取节点坐标 节点坐标的计算同GL坐标,它以所在节点的左下角为原点,X向右递增,Y向上递增
    touchLoaction = CCDirector::sharedDirector()->convertToGL(touchLoaction);
    touchLoaction = this->convertToNodeSpace(touchLoaction);
    
    
}
void ___FILEBASENAMEASIDENTIFIER___::changeToOtherScene(float time)
{
//    CCScene *temScene = ZMCFirstScene::scene();
//    CCDirector::sharedDirector()->replaceScene(temScene);
      
}

6.ok了,模板建好了。





   
   









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值