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。
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。
相关文章推荐
- 【最终版】Cocos2d-x&JS v3.7 发布!
- cocos2d-x 对引擎修改,以实现加密资源
- 让cocos2dx支持并通过arm64 编译
- Cocos2d-x 完美适配iphone、ipad(包括retina模式)
- cocos2d-x-3.4 无法打开包含文件extensions/ExtensionExport.h
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二节:Cocos引擎开发环境搭建与项目创建!
- cocos2d-x《农场模拟经营养成》游戏完整源码
- cocos2d 帮助
- cocos2dx关于size的知识
- 如何用Cocos2d-JS制作一个《你是我的小羊驼》游戏
- cocos2dx源码之 引用计数及自动释放
- Cocos2d-x学习笔记(九)—— 地图系统(地图编辑器,事件响应)
- cocos2dx 3.3 scrollView lua 版本幻灯片效果
- cocos2d-x 3.0 示例代码分析3:BaseTest
- Cocos2d-x移植到Android平台编译的两个文件Android.mk和Application.mk
- 如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第三部分(完)
- cocos2dx源码之 选择器
- cocos2dx 做test遇到一个问题,记录下来
- 我所理解的cocos2dx自适配屏幕大小方案
- cocos2d-x之retain与release