最近做聊天系统,遇到棘手的问题,就是字体要支持多颜色、换行、表情(图片)、超链接!我们不会从OpenGL底层来做这个工作,因为那样工作量非常大,不现实,考虑在已有的cocos2d-x接口上进行处理,来组合出我们需要富文本。因Android IOS 似乎都支持freetype2,所以就优先考虑了。
1.下载准备:
freetype2:http://download.savannah.gnu.org/releases/freetype/
扩展库:https://github.com/happykevins/cocos2dx-ext
2.搭建环境
2.1 配置freetype2
工程根目录:
class文件夹:
vs2010工程目录:
3. 代码:
HelloWorldScene.h
- #ifndef__HELLOWORLD_SCENE_H__
- #define__HELLOWORLD_SCENE_H__
- #include"cocos2d.h"
- #include"cocos-ext.h"
- #include<renren-ext.h>
- USING_NS_CC;
- USING_NS_CC_EXT;
- classHelloWorld:publiccocos2d::CCLayer
- {
- public:
- //Here'sadifference.Method'init'incocos2d-xreturnsbool,insteadofreturning'id'incocos2d-iphone
- virtualboolinit();
- //there'sno'id'incpp,sowerecommendreturningtheclassinstancepointer
- staticcocos2d::CCScene*scene();
- //aselectorcallback
- voidmenuCloseCallback(CCObject*pSender);
- //implementthe"staticnode()"methodmanually
- CREATE_FUNC(HelloWorld);
- boolccTouchBegan(CCTouch*pTouch,CCEvent*pEvent);
- voidccTouchMoved(CCTouch*pTouch,CCEvent*pEvent);
- //HTMLevents
- voidonHTMLClicked(
- IRichNode*root,IRichElement*ele,int_id);
- voidonHTMLMoved(
- int_id,
- constCCPoint&location,constCCPoint&delta);
- };
- #endif//__HELLOWORLD_SCENE_H__
@H_593_301@