容器
配置项
| 名称 | 类型 | 必填 | 说明 |
| 类型 | 文本 | true | 固定值:容器 表示这是一个容器控件 |
| 名称 | 文本 | true | 窗口中唯一标识 |
| x | 整数 | false | 默认显示坐标x |
| y | 整数 | false | 默认显示坐标y |
| 宽度 | 整数 | false | |
| 高度 | 整数 | false | |
| 行距 | 整数 | false | |
| 间距 | 整数 | false | |
| 布局 | 整数 | true | -1 手动定位 0 自动排列 1 垂直排列 2 水平排列 |
| 垂直滚动条显示 | 整数 | false | -1 不显示 0 自动显示 1始终显示 |
| 水平滚动条显示 | 整数 | false | -1 不显示 0 自动显示 1始终显示 |
| 垂直按钮递增 | 整数 | false | 点击按钮时的增减的进度 |
| 水平按钮递增 | 整数 | false | 点击按钮时的增减的进度 |
| 鼠标拖动 | 逻辑 | false | 是否允许在容器空白处鼠标拖拽移动内部显示区域 默认:false |
| 范围限制 | 逻辑 | false | 是否按容器内总的元素宽高作为容器范围 默认:true |
| 滚轮缩放 | table {最小比例,最大比例} | false | 非nil表示允许鼠标滚轮缩放容器内容 例:{0.6,1.4} |
| 内边距 | table | false | {2,2,2,2} |
| 边框宽度 | 整数 | false | |
| 边框色 | RGBA | false | |
| 背景色 | RGBA | false | |
| 项目 | table {} | false | 组件列表 |
| 附加 | table | false | 自定义变量 |
| 默认可视 | 逻辑 | false | 默认是否显示 |
| 系统事件 | table | false |
{
名称 = "容器框",
类型 = "容器",
默认可视 = true,
x = 10,
y = 40,
宽度 = 240,
高度 = 240,
间距 = 2,
行距 = 6,
布局 = 0, -- -1 手动定位 0 自动排列 1 垂直排列 2 水平排列
内边距 = {2,2,2,2},
边框宽度 = 0,
边框色 = RGBA(222,222,222,255),
背景色 = RGBA(24,24,24,255),
项目 = {
{
名称 = "标签1",
类型 = "标签",
x = 4,
y = 34,
宽度 = 80,
高度 = 20,
标题 = "标签1",
文本色 = RGBA(240,240,240,255),
描边色 = RGBA(0,0,0,200)
},
{
名称 = "标签2",
类型 = "标签",
x = 40,
y = 360,
宽度 = 120,
高度 = 40,
艺术字 = "艺术字",
标题 = "123456",
文本色 = RGBA(240,240,240,255),
描边色 = RGBA(0,0,0,200),
水平对齐 = 1,
垂直对齐 = 1,
圆角半径 = 4,
圆角边数 = 8,
边框宽度 = 2,
水平缩放 = 1.0,
垂直缩放 = 1.0,
行距 = 2,
间距 = -2,
边框色 = RGBA(0,255,0,255),
背景色 = RGBA(0,0,0,255)
},
{
名称 = "按钮1",
类型 = "按钮",
x = 4,
y = 70,
宽度 = 42,
高度 = 130,
标题 = "按钮1",
系统事件 = {
点击 = function(按钮对象)
调试输出(按钮对象.名称,按钮对象.父窗口.名称)
end
}
},
{
名称 = "按钮2",
类型 = "按钮",
x = 4,
y = 70,
宽度 = 320,
高度 = 90,
标题 = "按钮2",
系统事件 = {
点击 = function(按钮对象)
调试输出(按钮对象.名称,按钮对象.父窗口.名称)
end
}
},
{
名称 = "选择框1",
类型 = "选择框",
x = 150,
y = 150,
宽度 = 12,
高度 = 12,
标题 = "自动出售",
气泡提示 = "这是一个气泡提示",
系统事件 = {
点击 = function(选择框对象)
调试输出(选择框对象.选中)
end
}
},
}
}
提示
容器中无法嵌套 选择夹 容器 。
属性
可视
- 类型:
逻辑 - 读写:
读写 - 说明:是否显示控件
父窗口
- 类型:
窗口对象 - 读写:
只读 - 说明:控件的父窗口对象
名称
- 类型:
文本 - 读写:
只读 - 说明:控件的名称。
x
- 类型:
数值 - 读写:
读写 - 说明:坐标x。
y
- 类型:
数值 - 读写:
读写 - 说明:坐标y。
次序
- 类型:
数值 - 读写:
读写 - 说明:动态改变控件的显示层级,值越大越先显示。
宽度
- 类型:
数值 - 读写:
读写 - 说明:读写容器框宽度。
高度
- 类型:
数值 - 读写:
读写 - 说明:读写容器框高度。
鼠标坐标
- 类型:
{x,y} - 读写:
只读 - 说明:鼠标在容器内部的坐标。
鼠标焦点
- 类型:
逻辑 - 读写:
只读 - 说明:鼠标是否在容器中。
水平位置
- 类型:
数值 - 读写:
只读 - 说明:容器框中水平滚动条当前的位置。
垂直位置
- 类型:
数值 - 读写:
只读 - 说明:容器框中垂直滚动条当前的位置。
缩放
- 类型:
数值 - 读写:
只读 - 说明:容器框中内容当前的整体缩放比例。
镜头对象
- 类型:
包含属性{x,y}的table - 读写:
读写 - 说明:快捷移动镜头,并始终绑定。
nil取消
local 主角对象 = 容器对象.取出项目("角色1")
容器对象.镜头对象 = 主角对象
线段
- 类型:
table - 读写:
读写 - 说明:在容器背景上画线段。 { {x,y,x1,y1,宽度,颜色} , {x,y,x1,y1,宽度,颜色} , ...}
容器框.线段 = {
{0,0,100,100,2,RGBA(128,128,128,255)},
{0,0,100,150,2,RGBA(128,128,0,255)}
...
...
}
附加
- 类型:
table - 读写:
读写 - 说明:读写控件的附加信息。
方法
| 加入项目 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 说明:往容器中动态加入 自定义组件。 | ||||||||||||||||||||||
示例
注意事项 1、目前只能加入 自定义组件 。 |
| 删除项目 | ||||||||
|---|---|---|---|---|---|---|---|---|
| 说明:根据组件名称进行删除。 | ||||||||
示例 |
| 取出项目 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 说明:取出容器中的项目对象。 | ||||||||||||||
示例
注意事项 1、取出全部返回是对象数组 {} |
| 刷新 |
|---|
| 说明:重新计算,主动刷新容器中的项目位置。 |
示例 |
| 清空 |
|---|
| 说明:清空容器中的项目。 |
示例 |
| 移动镜头 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 说明:容器内部中心移动到指定坐标。 | ||||||||||||||||
示例 |
| 加入事件 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 说明:往容器中加入一个自定义事件。 | ||||||||||||||||||||
示例 |
| 删除事件 | ||||||||
|---|---|---|---|---|---|---|---|---|
| 说明:删除指定自定义事件。 | ||||||||
示例 |
系统事件
🔹 创建
创建时触发
| 回调参数 | 类型 | 说明描述 |
| 容器对象 | 容器组件 |
示例
系统事件 = {
创建 = function(容器对象)
调试输出(容器对象.名称)
end
}
🔹 鼠标按下
- 鼠标按下时触发。
- 返回
true可以阻止事件的继续传递,如果启用了鼠标拖动也会被拦截。
| 回调参数 | 类型 | 说明描述 |
| 容器对象 | 容器组件 | |
| 焦点对象 | 组件对象 | 当前的鼠标焦点组件 |
| 键值 | 整数 | 0:左键 1:右键 2:中键。 |
| 功能键 | 整数 | 1:Ctrl 2:Shift 3:Alt 是否处于按下状态 |
示例
系统事件 = {
鼠标按下 = function(容器对象,焦点组件,键值,功能键)
if (焦点组件) then
调试输出(焦点组件.名称,焦点组件.焦点节点)
return true
end
end,
}
🔹 鼠标弹起
- 鼠标弹起时触发。
- 返回
true可以阻止事件的继续传递。
| 回调参数 | 类型 | 说明描述 |
| 容器对象 | 容器组件 | |
| 焦点组件 | 组件对象 | 当前鼠标焦点组件 |
| 键值 | 整数 | 0:左键 1:右键 2:中键。 |
| 功能键 | 整数 | 1:Ctrl 2:Shift 3:Alt 是否处于按下状态 |
示例
系统事件 = {
鼠标弹起 = function(容器对象,焦点组件,键值,功能键)
if (焦点组件) then
调试输出(焦点组件.名称)
end
return true
end,
}
🔹 鼠标移动
- 鼠标在组件上移动时触发。
- 返回
true可以阻止事件的继续传递。
| 回调参数 | 类型 | 说明描述 |
| 容器对象 | 容器组件 | |
| 焦点对象 | 组件对象 | 当前鼠标焦点组件 |
| 功能键 | 整数 | 1:Ctrl 2:Shift 3:Alt 是否处于按下状态 |
示例
系统事件 = {
鼠标移动 = function(容器对象,焦点组件,功能键)
if (焦点组件) then
调试输出(焦点组件.名称)
return true
end
end,
}
