其它API
界面系统只提供了很有限的方法,因为大部分界面操作都可以通过绑定完成。
create
创建控件
命名用于服务器修改界面。
local ui, bind = base.ui.create(template, '背包')
add_child
添加子控件
- 参数
- child (ui) - 子控件
- 返回
- result (boolean) - 是否成功
将一个控件添加为另一个控件的子控件。
parent:add_child(child)
on_tick
帧事件
- 参数
- callback (function) - 回调函数
- 回调参数
- delta (number) - 经过的时间(毫秒)
- 返回
- destructor (function) - 销毁器
给控件注册回调函数,每帧都会调用这个函数。一个控件可以注册多个回调 函数,当控件被移除后回调函数不再运行。你也可以主动调用销毁器来使这个回调函数不再运行。
local destroy
local total = 0
destroy = ui:on_tick(function (delta)
total = total + delta
if total > 1000 then
destroy()
end
end)
remove
移除
- 返回
- result (boolean) - 是否成功
移除一个控件以及它的所有子控件。
ui:remove()
local tri
base.next(function()
tri = base.ui.bind_unit(poi.hero, bind, 0, 50)
end)
get_image_wh
- 返回
- width (number) - UI图片的原始宽度
- height (number) - UI图片的原始高度
当前帧无法获取到id,因此需要在下一帧调用
如果无图片返回0.0, 0.0
base.next(function()
local width, length = ui:get_image_wh()
end)
auto_scale
UI屏幕分辨率适配。参考分辨率为2340x1080, ui会根据实际分辨率和参考分辨的比值进行缩放。ui上固定像素值的属性如border
, font的size
, layout的width
, height
, position
, relative
, 都会乘上这个缩放值。
current_scale
- 返回
- result (number) - 当前UI的缩放值
base.ui.auto_scale.current_scale()