# 按钮类 class.button

继承自 面板类

# 属性

  • 构造器

  • 以下属性只有在构造时填入 在此之后只读不写

名字 类型 说明
has_ani boolean 是否有带指向点击动画
normal_image string 默认状态下的图像
hover_image string 鼠标进入时的图像
active_image string 左键按下时的图像
sync_key string 唯一不重复 key,填了会自动同步事件
keys table 绑定按键 可以绑定多个 例如 {"F2", "ESC"} 当按 f2 esc 时都会响应

# 方法

# set_normal_image

默认状态下的图像

# 参数

名字 类型 说明
path string 贴图路径 空路径为透明贴图
    --@ path: string
    control:set_normal_image(path)
1
2

# hover_image

鼠标进入时的图像

# 参数

名字 类型 说明
path string 贴图路径 空路径为透明贴图
    control:hover_image(path)
1

# set_active_image

左键按下时的图像

# 参数

名字 类型 说明
path string 贴图路径 空路径为透明贴图
    control:set_active_image(path)
1

# 按钮事件

# on_button_clicked

当鼠标被左键点击

function button:on_button_clicked()
   print('左键点击',self)
end
1
2
3

# on_button_mousedown

当鼠标被左键按下

function button:on_button_mousedown()
   print('左键按下',self)
end
1
2
3

# on_button_mouseup

当鼠标被左键弹起

function button:on_button_mouseup()
   print('左键弹起',self)
end
1
2
3

# on_button_right_clicked

当鼠标被右键点击

function button:on_button_right_clicked()
   print('右键点击',self)
end
1
2
3

# on_button_right_mousedown

当鼠标被右键按下

function button:on_button_right_mousedown()
   print('右键按下',self)
end
1
2
3

# on_button_right_mouseup

当鼠标被右键弹起

function button:on_button_right_mouseup()
   print('右键弹起',self)
end
1
2
3

# on_button_mouse_enter

当鼠标进入按钮

function button:on_button_mouse_enter()
   print('鼠标进入',self)
end
1
2
3

# on_button_mouse_leave

当鼠标离开按钮

function button:on_button_mouse_leave()
   print('鼠标离开',self)
end
1
2
3

# on_button_key_down

当按钮绑定的键盘被按下

--str:string 响应的键
function button:on_button_key_down(str)
   print('键盘按下',self, str)
end
1
2
3
4

# on_button_key_up

当按钮绑定的键盘被弹起

--str:string 响应的键
function button:on_button_key_up(str)
   print('键盘按下',self, str)
end
1
2
3
4

# on_button_begin_drag

当鼠标拖拽按钮开始

function button:on_button_begin_drag()
   print('鼠标拖拽开始',self)
end
1
2
3

# on_button_drag_and_drop

当鼠标拖拽结束

当拖拽结束时 可能有目标按钮 例如背包 1 拖到背包 2 时 需要在不同界面中的按钮进行交互

function button:on_button_drag_and_drop(target)
   print('鼠标拖拽结束',self,'目标',target)
end
1
2
3

# on_button_update_drag 拖拽更新事件

icon 为 影子图像 x y 为当前鼠标坐标

function button:on_button_update_drag(icon,x,y)
   print('拖拽更新事件',self,icon,x,y)
end
1
2
3

# on_button_update_cooldown

冷却更新事件

function button:on_button_update_cooldown(time,max_time)
    print('当按钮更新冷却',self,'当前时间',time,'总时间',max_time)
end
1
2
3

# on_button_cooldown_end

冷却结束事件

function button:on_button_cooldown_end()
   print('按钮冷却结束',self)
end
1
2
3