/* 文件名:TextActor.nut 路径:Core/BaseClass/TextObject/TextActor.nut 创建日期:2024-12-01 19:51 文件用途:文本样式 */ class TextActor extends CL_BaseObject { //不需要Update函数 NoUpdate = true; /* * @函数作用: 构造文本精灵 * @参数 font 可传入全局font Id 或 传入 font对象 * @参数 textstyle Map 可选对象: alignment 对其方式 wrap_width 自动换行宽度 word_wrapping 自动换行模式 line_spacing 行间距 show_underline 显示下划线 show_strikethrough 显示删除线 color 颜色 * @返回值 */ constructor(font, textstyle = {}) { switch (typeof font) { case "integer": C_Object = TextActor_Create(__Font__Map__[font].C_Object, textstyle); break; case "font_data": C_Object = TextActor_Create(font.C_Object, textstyle); break; default: C_Object = TextActor_Create(Font().C_Object, textstyle); break; } //传递字体类 base.constructor(C_Object); } //设置文本内容 function SetText(str) { TextActor_SetText(this.C_Object, str); } //设置描边 function SetOutline(color = Color.Black, flag = true) { TextActor_SetOutLine(this.C_Object, color, flag); } // //设置描边 // function SetOutline(style) { // OutlineChild = []; // for (local i = 0; i< 8; i++) { // style.color = 0xff000000; // local buf = FontAssetManager.GenerateNormal("", false, style); // buf.SetPosition(Strokeoffsets[i]); // buf.SetZOrder(-1); // OutlineChild.push(buf); // Addchild(buf); // } // } //设置填充颜色 function SetFillColor(Color) { TextActor_SetFillColor(this.C_Object, Color); } //设置坐标 function SetPosition(Value, ...) { if (vargv.len() == 0) { X = Value.x; Y = Value.y; } else if (vargv.len() == 1) { X = Value; Y = vargv[0]; } X = X.tointeger(); Y = Y.tointeger(); BaseObject_SetPosition(this.C_Object, X, Y); } //移动坐标 function MoveTo(Value, ...) { if (vargv.len() == 0) BaseObject_MoveTo(this.C_Object, Value.tointeger()); else if (vargv.len() == 1) BaseObject_MoveTo(this.C_Object, Value.tointeger(), vargv[0].tointeger()); } //移动相对坐标 function MoveBy(Value, ...) { if (vargv.len() == 0) BaseObject_MoveBy(this.C_Object, Value.tointeger()); else if (vargv.len() == 1) BaseObject_MoveBy(this.C_Object, Value.tointeger(), vargv[0].tointeger()); } }