# 构造方法
- 每个类的构造方法约定为 new
- 且第一个参数为父控件 可以为 nil 例如
class.text = extends(class.panel) {
new = function (parent, ...)
--... 此处略去1万字
return object
end,
}
1
2
3
4
5
6
2
3
4
5
6
元类 将会自动生成其他构造方法
# 基础的控件类
名字 | 类型 | 说明 |
---|---|---|
面板 | panel | 用来做底板 继承的子类可添加子控件 |
图像 | texture | 用来只显示图像不做任何操作 |
按钮 | button | 用来响应用户鼠标点击进入离开操作 |
文本 | text | 用来显示文字 |
编辑框 | edit | 用来获取用户输入文字 |
模型 | model | 用来显示 mdx mdl 模型 |
# 例子
构造一个面板
-- path, x, y, w, h
local panel = class.panel.create("xx.blp", 300, 300, 300, 300)
1
2
3
2
3
- 构造一个图像
local texture = class.texture.create("xx.blp", 300, 300, 300, 300)
1
2
2
- 构造一个按钮
local button = class.button.create("xx.blp", 300, 300, 300, 300)
1
2
2
- 构造一个文本
--text,x, y, w, h, font_size, align
local text = class.text.create("文本内容", 300, 300, 300, 300, 15, "center")
1
2
3
2
3
- 构造一个按钮带文字
当 x y 轴不填时 默认是 0 w h 不填时 默认为父控件大小
local button = class.button.create("xx.blp", 300, 300, 300, 300)
button.text = button:add_text("文本内容", nil, nil, nil, nil, 15, "center")
button.text:set_text("新的文本内容")
1
2
3
4
2
3
4
- 创建一个像魔兽一样的技能按钮
local w, h = 91, 71
local button = class.button.create("xx.blp", 100, 100, w, h)
button.icon = button:add_texture("xx2.blp", w - 32, h - 32, 32, 32)
button.icon.text = button.icon:add_text("10", nil, nil, nil, nil, 8, 'center')
local path = [[UI\Feedback\Cooldown\UI-Cooldown-Indicator.mdl]]
button.model = button:add_model(path)
button.model:hide()
button.model:set_scale(0.65, 0.85)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11