Appearance
按钮(Button)
按钮是工程中常用的交互元素,用于触发事件或执行操作。可以添加文本、图片或两者结合的控件。 通常是一个背景图片+一个文字内容用做按钮。
1、按钮组件
typescript
// 添加文本组件
let button = new LM.Button();
this.addChild(button);
//按钮图
button.src = "Graphics/按钮.png"
// 按钮文本内容
button.text = "点击";
// 设置位置
button.x = 100;
button.y = 100;
// 文字横向布局 0:left 1:center 2:right
button.alignHorizontal = 1;
// 文字竖向布局 0:top 1:center 2:bottom
button.alignVertical = 1;
//字体颜色
button.fontColor = "#ffffff";
//字号
button.fontSize = 36;
//使用字体,必须放在Graphics文件夹下
button.textFamily = "Graphics/font/微软雅黑.ttf";
//设置九宫格
button.is9GridEnabled = true;
button.scale9Grid = "10,10,10,10";
//设置按钮的点击事件
botton.click(() =>{
console.log("click ")
})2、常用属性
| 属性 | 解释 | 值 | 默认值 |
|---|---|---|---|
| x | x | 数值 | 0 |
| y | y | 数值 | 0 |
| z | 图层高度,越高越靠上层 | 数值 | 0 |
| width | 宽 | 数值,不填为自适应 | |
| height | 高 | 数值,不填为自适应 | |
| text | 文本内容 | 字符串 | |
| src | 图片路径 | 字符串 | |
| backgroundColor | 背景色 | 字符串,填色号如黑色“#000000” | |
| visible | 是否可见 | 布尔值,true可见,false不可见 | true |
| alpha | 不透明度 | 数值,0~255,255表示完全不透明 | 255 |
| touchEnabled | 是否可点击 | 布尔值,true可点击,false不可点击 | true |
| alphaHitUnable | 透明区域是否可点击 | 布尔值,true可点击,false不可点击 | true |
| isPenetrable | 是否可以穿透(点击到下层组件) | 布尔值,true可穿透,false不可穿透 | true |
| scaleX | 宽缩放率 | 数值,1为原始的宽 | 1 |
| scaleY | 高缩放率 | 数值,1为原始的高 | 1 |
| zoomCenterX | 缩放中心x(相对于自己) | 数值,0.5为自身X轴中点 | 0 |
| zoomCenterY | 缩放中心y(相对于自己) | 数值,0.5为自身Y轴中点 | 0 |
| alignHorizontal | 横向布局 | 0:left 1:center 2:right | 0 |
| alignVertical | 竖向布局 | 0:top 1:center 2:bottom | 0 |
| fontColor | 字体颜色 | 字符串,填色号如黑色“#000000” | |
| fontSize | 字号 | 数值 | |
| textFamily | 字体 | 字符串,填字体文件地址,必须放在 | |
| is9GridEnabled | 开启九宫格适配 | 布尔值 | false |
| scale9Grid | 九宫格设置 | 字符串,固定格式如"10,10,10,10",表示上下左右边距 |
3、常用方法
(1)onClick
点击行为
(2)onTouchDown
按下行为
(3)onTouchUp
抬起行为
(4)onTouchMove
鼠标在组件区域内移动(可用作悬浮)
(5)onTouchCancel
鼠标移出组件区域(可用作离开悬浮)
typescript
let button = new LM.Button()
// 注册了点击事件
button.onClick(()=>{console.log("点击了控件")})
// 注册了按下事件
button.onTouchDown(()=>{console.log("按下")})
// 注册了抬起事件
button.onTouchUp(()=>{console.log("抬起")})
// 注册了移动事件
button.onTouchMove(()=>{console.log("移动了")})
// 注册了移出事件
button.onTouchCancel(()=>{console.log("移出")})