创建字体控件
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-06-15 19:21:37 |
👁️ 阅读: 1
根据浮生梦老师前端课程内容,创建字体控件主要使用以下几个函数:
**1. 创建普通文本控件:**
```lua
-- 参数说明:
-- parent: 父控件对象
-- ID: 控件唯一ID
-- x: 横坐标
-- y: 纵坐标
-- fontSize: 字体大小
-- fontColor: 字体颜色(如"#ffffff")
-- str: 文本内容
-- 示例:创建一个白色16号字的文本
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
local text = GUI:Text_Create(parent, "Text_name", 100, 100, 16, "#ffffff", "玩家名称")
```
**2. 创建Bmp文本(位图字体):**
```lua
-- 参数说明:
-- fontPath: 字体文件路径(如"fonts/stfont.fnt")
-- fontColor: 字体颜色,支持传空
-- 示例:创建位图字体文本
local bmpText = GUI:BmpText_Create(parent, "BmpText_1", 200, 200, "#ff0000", "攻击力", "fonts/stfont.fnt")
```
**3. 创建艺术字文本(数字艺术字):**
```lua
-- 参数说明:
-- stringValue: 文本内容
-- charMapFile: 艺术字图片路径
-- itemWidth: 单个字体宽度
-- itemHeight: 单个字体高度
-- startCharMap: 起始字符(如"/")
-- 示例:创建数字艺术字
local artText = GUI:TextAtlas_Create(parent, "ArtText_1", 300, 300, "100",
"public/1900000610.png", 20, 20, "/", "0123456789")
```
**4. 创建富文本控件(支持多种样式):**
```lua
-- 参数说明:
-- width: 富文本控件宽度
-- Size: 字体大小
-- Color: 颜色
-- vspace: 行间距
-- hyperlinkCB: 超链回调函数
-- 示例:创建带样式的富文本
local richText = GUI:RichText_Create(parent, "RichText_1", 100, 300,
"<font color='#00ff00'>绿色</font><font color='#ff0000'>红色</font>",
200, 14, "#ffffff", 5, function()
SL:print("超链接被点击")
end)
```
**5. 创建滚动文本:**
```lua
-- 参数说明:
-- width: 文本宽度
-- scrollTime: 滚动时长(秒)
-- fontPath: 字体文件路径(可选)
-- 示例:创建滚动显示的文本
local scrollText = GUI:TextScroll_Create(parent, "ScrollText_1", 100, 400,
200, 14, "#ffffff", "这是一段滚动显示的文本", 5, "fonts/font5.ttf")
```
**6. 创建自定义组合富文本:**
```lua
-- 用于创建复杂的文本组合
local combineRichText = GUI:RichTextCombine_Create(parent, "Combine_1", 100, 500, 300, 5)
```
**字体样式设置:**
```lua
-- 设置字体文件
GUI:Text_setFontName(text, "fonts/font5.ttf")
-- 设置文本内容
GUI:Text_setString(text, "新的文本内容")
-- 设置字体颜色
GUI:Text_setTextColor(text, "#ff0000")
-- 设置字体大小
GUI:Text_setFontSize(text, 18)
```
**注意事项:**
1. 创建控件前必须先创建父节点(如使用`GUI:Win_Create`)
2. BmpText和TextAtlas适合显示数字、图标等固定样式的文本
3. RichText适合显示带颜色、超链接等复杂样式的文本
4. 滚动文本适合显示公告、跑马灯等动态内容
建议根据实际需求选择合适的字体控件类型,如果需要动态更新内容,推荐使用`Text_Create`或`RichText_Create`。
← 返回问答库