Skip to content

UIComponent ​

继承自:

描述 ​

UI约束和布局类别的基类

属性 ​

Vector2  Size
UI节点像素和尺寸大小
Vector2  Scale
UI节点缩放倍数
float  Rotation
UI节点旋转度数
Vector2  Position
UI节点坐标
Vector2  Pivot
UI节点锚点(0~1),(0.5,0.5)为中点
bool  IsKeepPosWhenPivotChange
更新锚点时是否保持位置不变
bool  IsNotifyEventStop
是否将触摸事件传递给父节点(为true时不传递)
ColorQuad  LineColor
UI节点边线颜色设置
ColorQuad  FillColor
UI节点填充颜色设置
int  LineSize
UI节点边线像素和尺寸大小
bool  ClickPass
是否将点击事件穿透给场景
EnumLayoutHRelation  LayoutHRelation
水平关联方式,包括左关联、中线关联和右关联。设置后,当父节点(若父节点为UIRoot则为屏幕)变化时,UI与关联位置的相对距离将保持不变
EnumLayoutVRelation  LayoutVRelation
垂直关联方式,包括上关联、中线关联和下关联。设置后,当父节点(若父节点为UIRoot则为屏幕)变化时,UI与关联位置的相对距离将保持不变
EnumLayoutSizeRelation  LayoutSizeRelation
宽高关联,包括无关联,宽关联,高关联和全关联,当父节点宽高改变时,UI宽高随之变化
Button  SetFullViewSize
设置全视图大小
bool  Active
是否激活

函数 ​

获取UI的全局位置

事件 ​

SBXSignal  RollOver (SandboxNode node, bool isOver, Vector2 vector2)
拖住滑动或鼠标滚轮结束
SBXSignal  RollOut (SandboxNode node, bool isOut, Vector2 vector2)
拖住滑动或鼠标滚轮超出UI布局范围
SBXSignal  TouchBegin (SandboxNode node, bool isTouchBegin, Vector2 vector2, int int)
触摸事件开始
SBXSignal  TouchEnd (SandboxNode node, bool isTouchEnd, Vector2 vector2, int int)
触摸事件结束
SBXSignal  TouchMove (SandboxNode node, bool isTouchMove, Vector2 vector2, int int)
触摸移动
SBXSignal  Click (SandboxNode node, bool isClick, Vector2 vector2, int int)
点击事件

代码示例 ​

lua
--创建ui布局
local root = SandboxNode.New('UIRoot', game.WorkSpace)
root.Name = 'uiroot'
--创建图片
local image1 = SandboxNode.New('UIImage', game.WorkSpace.uiroot)
image1.Name = 'image'
image1.Visible = true
image1.Icon = 'ui\\mobile\\texture0\\common\\board_activity_box_white.png'
image1.Size = Vector2.New(500, 200)
image1.Pivot= Vector2.New(0, 0)
image1.LayoutHRelation = Enum.LayoutHRelation.Left
image1.LayoutVRelation= Enum.LayoutVRelation.Top
image1.LayoutSizeRelation= Enum.LayoutSizeRelation.Both

image1.RollOver:Connect(function(node,issuccess,mousepos) 
    print('you RollOver me')
    print('RollOver pos:'..mousepos.x..' '..mousepos.y)
end)
image1.RollOut:Connect(function(node,issuccess,mousepos) 
    print('you RollOut me')
    print('RollOut pos:'..mousepos.x..' '..mousepos.y)
end)
image1.TouchBegin:Connect(function(node,issuccess,mousepos) 
    print('you TouchBegin me')
    print('TouchBegin pos:'..mousepos.x..' '..mousepos.y)
end)
image1.TouchMove:Connect(function(node,issuccess,mousepos) 
    print('you TouchMove me')
    print('TouchMove pos:'..mousepos.x..' '..mousepos.y)
end)
image1.TouchEnd:Connect(function(node,issuccess,mousepos) 
    print('you TouchEnd me')
    print('TouchEnd pos:'..mousepos.x..' '..mousepos.y)
end)
image1.Click:Connect(function(node,issuccess,mousepos) 
    print('you Clickme')
    print('Clickme pos:'..mousepos.x..' '..mousepos.y)
end)