游戏除了精灵之外,还会用到一些如标题,按钮等控件,所以Cocos2dx也提供了几个控件类来显示文本或控制游戏的开始、暂停、显示菜单等功能。
所有控件都继承了节点类Node,具有Node类所有的特性和方法。
1、TTF文本标签控件 - LabelTTF
LabelTTF在Cocos2dx 3.0之前版本是一个常用控件,但3.0之后已经过时了,但依然兼容。
常用方法有:
static LabelTTF * create(const std::String& string,const std::string& fontName,float fontSize,const Size&dimensions = Size::ZERO,TextHAlignment hAlignment = TextHAligmen::LEFT, TextVAlignment vAlignment = TextVAlignment::TOP) //创建一个LabelTTF对象,参数一是显示文本,参数二是字体文件路径,参数三是字体大小,参数三是设置显示区域,参数四是水平对齐方式,参数五是垂直对齐方式。
bool init() //初始化LabelTTF对象,成功则返回true。
bool initWithString(const std::String& string,const std::string& fontName,float fontSize,const Size&dimensions = Size::ZERO,TextHAlignment hAlignment = TextHAligmen::LEFT, TextVAlignment vAlignment = TextVAlignment::TOP) //初始化LabelTTF对象,参数一是显示文本,参数二是字体文件路径,参数三是字体大小,参数三是设置显示区域,参数四是水平对齐方式,参数五是垂直对齐方式。
bool initWithStringAndTextDefinition(const std::string& string,FontDefinition& textDefinition) 初始化LabelTTF对象,参数一是显示文本,参数二是字体定义。
void enableShadow(const Size &shadowOffset,flaot shadowOpacity,float shadowBlur,bool mustUpdateTexture=true) //启用标签阴影,参数一是阴影位置偏移量,参数二是阴影透明度,参数三是阴影模糊度,参数四是是否更新纹理。
void disableShadow(bool mustUpdate Texture = true) //是否绘制阴影,true时更新绘制阴影纹理。
void enableStroke(const Color3B& strokeColor,float strokeSize,bool mustUpdateTextrue = true) //启用文本描边效果,参数一是颜色,参数二是描边宽度,参数三是是否更新纹理。
void disableStroke(mustUpdateTextrue = true) //使用更新描边纹理。
void setHorizontalAlignment(TextHAlignment alignment) // 设置文本水平对齐方式。
void setVerticalAlignment(TextVAlignment verticalAlignment) //设置文本垂直对齐方式。
TextVAlignment getVerticalAlignment() //获取文本垂直对齐方式。