cocos2d-js 控件——UIText

UIText公有属性、方法

/** 
 * 文本类型
 */
enum class Type
{
    SYSTEM, // 系统
    TTF     // TTF
};

/**
 * 构造函数
 */
Text();

/**
 * 创建一个Text对象
 * @return Text对象
 */
static Text* create();

/**
 *  用textContent,fontName和fontSize创建一个Text对象。
 *  用法:
 *  Text *text = Text::create("Hello", "Arial", 20);
 *  Text *text = Text::create("Hello", "xxx\xxx.ttf", 20);
 *
 * @param textContent   文本内容字符串
 * @param fontName      可以是系统字体名称或TTF文件路径。
 * @param fontSize      字体大小
 * @return Text对象
 */
static Text* create(const std::string& textContent,
                    const std::string& fontName,
                    float fontSize);

/**
 * 更改标签的字符串值
 * @param text  字符串值
 */
void setString(const std::string& text);

/**
 * 获取标签的字符串值
 * @return 字符串值
 */
const std::string& getString()const;

/**
 * 获取标签的字符串长度
 * 注意:这个长度将比原始字符串长度大,如果你想获得原始字符串的长度,你应该调用this->getString().size()来代替
 * @return  字符串长度
 */
ssize_t getStringLength()const;

/**
 * 设置标签的字体大小
 * @param 字体大小
 */
void setFontSize(float size);

/**
 * 获取标签的字体大小
 * @return 字体大小
 */
float getFontSize()const;

/** 
 * 设置文字颜色
 * @param color 文字颜色
 */
void setTextColor(const Color4B color);

/** 
 * 获取文字颜色
 * @return 文字颜色
 */
const Color4B& getTextColor() const;

/**
 * 设置标签的字体名称
 * 如果您尝试使用系统字体,则只需传递字体名称
 * 如果您尝试使用TTF,则应该将文件路径传递给TTF文件
 * 用法:
 * Text *text = Text::create("Hello", "Arial", 20);
 * text->setFontName("Marfelt");
 * text->setFontName("xxxx/xxx.ttf");
 * @param 字体名称
 */
void setFontName(const std::string& name);

/** 
 * 获取字体名称
 * @return 字体名称
 */
const std::string& getFontName()const;

/** 
 * 获取字体类型
 * @return 字体类型(Type)
 */
Type getType() const;

/**
 * 设置标签的触摸比例
 * @param enabled 启用标签的触摸缩放
 */
void setTouchScaleChangeEnabled(bool enabled);

/**
 * 获取标签的触摸比例
 * @return  标签是否已启用触摸比例
 */
bool isTouchScaleChangeEnabled()const;

/*
 * ?
 */
virtual Size getVirtualRendererSize() const override;

/*
 * ?
 */
virtual Node* getVirtualRenderer() override;

/** 
 * 获取自动模式下的渲染大小
 * @return 渲染大小在自动模式下的大小
 */
virtual Size getAutoRenderSize();

/**
 * 返回控件的“类名”
 */
virtual std::string getDescription() const override;

/**
 * 设置文字渲染范围(即文本显示范围)
 * 同时调用`ignoreContentAdaptWithSize(false)`,否则就是文本区域
 * 大小是通过文本内容的真实大小来计算的
 * @param 渲染范围
 *
 */
void setTextAreaSize(const Size &size);

/** 
 * 返回文本渲染区域大小
 * @return 文本渲染区域大小
 */
const Size& getTextAreaSize()const;

/**
 * 水平对齐方式
 */
enum class CC_DLL TextHAlignment
{
    LEFT,
    CENTER,
    RIGHT
};

/** 
 * 设置文本水平对齐
 * @param alignment 文本水平对齐类型
 */
void setTextHorizontalAlignment(TextHAlignment alignment);

/** 
 * 获取文本水平对齐
 * @return 文本水平对齐类型
 */
TextHAlignment getTextHorizontalAlignment()const;

/** 
 * 设置文本垂直对齐
 * @param alignment 文本垂直对齐类型
 */
void setTextVerticalAlignment(TextVAlignment alignment);

/** 
 * 获取文本垂直对齐
 * @return 文本垂直对齐类型
 */
TextVAlignment getTextVerticalAlignment()const;

/**
 * 为标签启用阴影,支持阴影效果模糊
 * @param shadowColor 阴影效果的颜色
 * @param offset      阴影效应的偏移
 * @param blurRadius  阴影效果的模糊半径
 */
void enableShadow(const Color4B& shadowColor = Color4B::BLACK,
                  const Size &offset = Size(2,-2),
                  int blurRadius = 0);

/**
 * 返回是否启用阴影效果。
 */
bool isShadowEnabled() const;

/**
 * 返回阴影偏移量
 */
Size getShadowOffset() const;

/**
 * 返回阴影模糊半径
 */
float getShadowBlurRadius() const;

/**
 * 返回阴影颜色
 */
Color4B getShadowColor() const;

/**
 * 为标签启用描边
 * 只有在使用系统字体时,才能在IOS和Android上运行
 *
 * @param outlineColor 描边的颜色
 * @param outlineSize  描边的大小
 */
void enableOutline(const Color4B& outlineColor,int outlineSize = 1);

/**
 * 返回描边大小
 */
int getOutlineSize() const;

/** 
 * 字体荧光,只支持TTF
 * @param glowColor 荧光颜色
 */
void enableGlow(const Color4B& glowColor);

/**
 * 文字效果
 */
enum class LabelEffect {
    NORMAL,
    OUTLINE,
    SHADOW,
    GLOW,
    ALL
};

/** 
 * 禁用所有文字效果,包括阴影,描边和荧光。
 */
void disableEffect();

/**
 * 禁用特定的文字效果
 * @param effect 使用LabelEffect参数指定应该禁用哪个效果。
 */
void disableEffect(LabelEffect effect);

/**
 * 返回当前字体效果类型
 */
LabelEffect getLabelEffectType() const;

/**
 * 返回当前效果颜色值
 */
Color4B getEffectColor() const;

UIText示例

var text = new ccui.Text("玉米包谷玉米包谷 ?(此处为emoji表情)", "STYuanti-SC-Regular", 20);
text.setPosition(640, 360);
text.setFontSize(30);
text.setTextColor(cc.hexToColor("#87562A"));
text.setTextAreaSize(cc.size(500, 300));
text.ignoreContentAdaptWithSize(false);
text.setTextHorizontalAlignment(cc.VERTICAL_TEXT_ALIGNMENT_CENTER);

// 阴影
text.enableShadow(cc.color(0,0,0,255), cc.size(5, 5), 5);

// 描边
text.enableOutline(cc.color(255,255,255,255), 5);

// 取消描边
text.disableEffect(1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值