Cocos2dx控件 Text和TextField

Text

Text类是一个Widget子类,它实现了在触摸屏上显示文本;触摸一个文本时拦截事件和动作消息发送到目标对象时所设定的目标和行动函数都继承自Widget。该控件提供了函数来设置文本的显示宽高、字号、字体、对齐方式、文本内容、是否缩放等属性;

Text有一个重要的枚举Type,表示文本类型:

 - SYSTEM:系统支持字体;
 - TTF:ttf字体;

Text的常用函数如下:

  • static Text* create(const std::string& textContent, const std::string& fontName, int fontSize):根据内容、字体格式、字体大小创建一个Text对象下面是一个示例代码:
    Text* text = Text::create("Hello", "Arial", 20); //create a system font UIText
    Text* text = Text::create("Hello", "xxx\xxx.ttf", 20); //create a TTF font UIText
  • void setString(const std::string& text):修改文本内容;
  • const std::string& getString()const:获得文本内容;
  • size_t getStringLength()const: 获得文本内容长度;
  • void setFontSize(int size):设置文本字体大小;
  • int getFontSize()const:获得字体大小;
  • void setFontName(const std::string& name):设置字体格式,可以设置系统字体和ttf字体,示例代码:
    Text* text = Text::create("Hello", "Arial", 20);
    text->setFontName("Monaco");
    text->setFontName("xxx/xxx.ttf");
  • const std::string& getFontName()const:获得字体格式;
  • Type getType()const: 获得字体类型;

TextField(文本框)

TextField类是一个Widget的子类,它实现了在触摸屏上的输入框;
该控件提供了函数来设置输入框的字号、字体、密码模式、长度限制、文本内容、占位文本等属性;

Text类有一个重要的枚举EventType,表示文本框事件类型:

 - ATTACH_WITH_IME: 准备输入数据;
 - DETACH_WITH_IME:结束数据输入;
 - INSERT_TEXT:增加字段;
 - DELETE_BACKWARD:删除字段;

和枚举值相关的是一个重要的回调函数:

typedef std::function(Ref*, EventType)> ccTextFieldCallback:

该回调函数使用了C++11 的Lambda表达式,用于在文本框实践中编写响应代码

TextField类常用函数如下;

  • static TextField* create(const std::string& placeholder, const std::string& fontName, int fontSize):创建一个TextField对象,参数placeholder设置在未输入任何文字时显示的内容,fontName设置字体格式,fontSize设置字体大小;
  • void setTouchSize(const Size& size):设置TextField的触摸范围,当手指触摸坐标在这个设定的范围内,那么就可以输入文字;
  • Size getTouchSize()const:获得TextField的触摸范围;
  • void setTouchAreaEnabled(bool enable):设置打开输入的触摸范围;
  • void setPlaceHolder(const std::string& value):设置在未输入任何文字显示的内容;
  • const std::string& getPlaceHolder()const;获得在未输入任何文字时显示的内容;
  • void setFontSize(int size):设置字体大小;
  • int getFontSize()const: 获得字体大小;
  • void setFontName(const std::string& name):设置字体格式;
  • void setText(const std::string& text):设置输入框的文本;
  • const std::string& getStringValue()const:获得输入框的文本;
  • const std::string& getFontName()const:获得字体格式;
  • void setMaxLengthEnabled(bool enable):设置是否限制输入字数;
  • bool isMaxLengthEnabled()const:判断是否设置了最大输入字数限制;
  • void setMaxLength(int length):设置最大输入字数;
  • int getMaxLength()const:获得最大字数
  • void setPasswordEnabled(bool enable):设置文本格式为密码格式;
  • bool isPasswordEnabled()const:判断是否是密码格式;
  • void setPasswordStyleText(const char* styleText):当设置为密码格式时,输入的文本用styleText代替显示;
  • const char* getPasswordStyleText()const:获得密码格式的styleText;
  • bool getAttachWithIME()const:判断是否准备输入数据;
  • void setAttachWitnIME(bool attach):设置是否准备输入数据;
  • bool getDetachWithIME()const:判断是否结束数据输入;
  • void setDetachWithIME(bool detach):设置是否结束数据输入;
  • bool getInsertText()const:判断是否增加字段;
  • void setInsertText(bool insertText):设置是否增加字段;
  • bool getDeleteBackward()const:判断是否删除字段
  • void setDeleteBackward(bool deleteBackward):设置是否删除字段;
  • void addEventListener(const ccTextFieldCallBack& callback):添加事件监听器;

你可能感兴趣的:(cocos2dx)