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 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,SEL_CallFuncN cancelCallback,CCObject* callbackTarget,int tag); static void show(const char* titleStr,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。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|