您的位置:首页 > 移动开发 > Cocos引擎

cocos2d

2015-08-14 18:58 543 查看
1,CCLabeTTF.cpp

CCLabelTTF* up = CCLabel::create(string,fontName,fontsize)
http://blog.csdn.net/dinko321/article/details/36649459
COCOS2D中有三个类可以在层或精灵中添加文字

1,CCLabelTTF每次调用setstring(即改变文字)的时候,一个新的OPENGL纹理将会被创建。

2,CCLabelBMFont每次改变只改变了图片坐标,而CCLabelTTF要重新渲染。

3, CCLabelAtlas如果你用cocos2d项目模板创建过项目,那么你已经看过它的效果了,就是左下角显示帧率的数字。

2,commondialog.h--------------------------

class CommonDialog:public CCLayer,public CCBMemberVariableAssigner,public CCBSelectorResolver,public CCNodeLoaderListener

//

// CommonDialog.h

// FishingOL

//

// Created by DongXX on 14-1-14.

//

//

#ifndef __FishingOL__CommonDialog__

#define __FishingOL__CommonDialog__

#include "cocos2d.h"

#include "cocos-ext.h"

//#include "Config.h"

USING_NS_CC;

using namespace std;

using namespace extension;

//通用Dialog提示类

class CommonDialog:public CCLayer,public CCBMemberVariableAssigner,public CCBSelectorResolver,public CCNodeLoaderListener{

public:

//dialog是否在显示中

static bool isShow;

CCB_STATIC_NEW_AUTORELEASE_OBJECT_WITH_INIT_METHOD(CommonDialog, create);

/**

* @brief
显示弹出框,message必须传,其他的都可以传""

*

* @param
titleStr title

* @param
messageStr message

* @param
sureStr 确定按钮的字

* @param
cancelStr 取消按钮的字

* @param
target 用来显示弹出框的layer,不传会取最上层的layer

*/

static void show(const char* titleStr,const char* messageStr,const char* sureStr,const char* cancelStr,CCNode *target,SEL_CallFuncN sureCallback,SEL_CallFuncN cancelCallback);

static void show(const char* titleStr,const char* messageStr,const char* sureStr,const char* cancelStr,CCNode *target,SEL_CallFuncN sureCallback,SEL_CallFuncN cancelCallback,CCObject* callbackTarget,int tag);

static void show(const char* titleStr,const char* messageStr,CCNode *target,SEL_CallFuncN sureCallback,SEL_CallFuncN cancelCallback);

static void show(const char* titleStr,const char* messageStr,CCNode *target,SEL_CallFuncN sureCallback);

static void show(const char* titleStr,const char* messageStr);

//隐藏commondialog

static void hide();

private:

const char * sureStr;

const char * cancleStr;

const char * titleStr;

const char * messageStr;

CCMenu *menu;

CCLabelTTF* title;

CCLabelTTF* message;

CCMenuItemImage* menu_sure;

CCMenuItemImage* menu_cancle;

SEL_CallFuncN sureCallback;

SEL_CallFuncN cancelCallback;

CCNode *target;

CCObject* callbackTarget;

CommonDialog();

~CommonDialog();

virtual void onNodeLoaded(CCNode * pNode, CCNodeLoader * pNodeLoader);

virtual bool onAssignCCBMemberVariable(CCObject* pTarget, const char* pMemberVariableName, CCNode* pNode);

virtual SEL_MenuHandler onResolveCCBCCMenuItemSelector(CCObject * pTarget, const char* pSelectorName);

virtual SEL_CCControlHandler onResolveCCBCCControlSelector(CCObject * pTarget, const char* pSelectorName){

return NULL;

}

virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);

void menuCallBack(cocos2d::CCObject* pSender);

void updateTexture();

void onEnter();

void onExit();

};

class CommonDialogLoader : public CCLayerLoader {

public:

CCB_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(CommonDialogLoader, loader);

protected:

CCB_VIRTUAL_NEW_AUTORELEASE_CREATECCNODE_METHOD(CommonDialog);

};

#endif /* defined(__FishingOL__CommonDialog__) */

3,USING_NS_CC;

亦与C++不同,但和Java相同,Objective-C只容许对象继承一个类(不设多重继承
http://www.tairan.com/archives/2614 http://blog.csdn.net/somestill/article/details/11194417
首先,ccb文件是如何生成的,我就不多说了,大家可以搜下cocosbuilder,就能找的相关的教程,而通过cocosbuilder,我们可以省去了很多设计的麻烦,比如设计一个精灵的位置啥的,而通过cocosbuilder,我们可以把我们编码的重点放到具体的控制类上面,而不是在显示页面上下很大的功夫。闲话不多说,要想实现这些好处,首先确定你的Cocos2d-x的版本号,如果是2.0.4,那就用cocosbuilder
2.1吧(当然,cocosbuilder只有mac版的,如果是windows,那就用cocostudio吧),如果cocos2d-x是2.1以上版本,就用cocosbuilder3.0以上版本吧,比如我用的是cocos2d-x2.1.4,我的cocosbuilder为3.0.4。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: