# 按钮类 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
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
2
3
# on_button_mousedown
当鼠标被左键按下
function button:on_button_mousedown()
print('左键按下',self)
end
1
2
3
2
3
# on_button_mouseup
当鼠标被左键弹起
function button:on_button_mouseup()
print('左键弹起',self)
end
1
2
3
2
3
# on_button_right_clicked
当鼠标被右键点击
function button:on_button_right_clicked()
print('右键点击',self)
end
1
2
3
2
3
# on_button_right_mousedown
当鼠标被右键按下
function button:on_button_right_mousedown()
print('右键按下',self)
end
1
2
3
2
3
# on_button_right_mouseup
当鼠标被右键弹起
function button:on_button_right_mouseup()
print('右键弹起',self)
end
1
2
3
2
3
# on_button_mouse_enter
当鼠标进入按钮
function button:on_button_mouse_enter()
print('鼠标进入',self)
end
1
2
3
2
3
# on_button_mouse_leave
当鼠标离开按钮
function button:on_button_mouse_leave()
print('鼠标离开',self)
end
1
2
3
2
3
# on_button_key_down
当按钮绑定的键盘被按下
--str:string 响应的键
function button:on_button_key_down(str)
print('键盘按下',self, str)
end
1
2
3
4
2
3
4
# on_button_key_up
当按钮绑定的键盘被弹起
--str:string 响应的键
function button:on_button_key_up(str)
print('键盘按下',self, str)
end
1
2
3
4
2
3
4
# on_button_begin_drag
当鼠标拖拽按钮开始
function button:on_button_begin_drag()
print('鼠标拖拽开始',self)
end
1
2
3
2
3
# on_button_drag_and_drop
当鼠标拖拽结束
当拖拽结束时 可能有目标按钮 例如背包 1 拖到背包 2 时 需要在不同界面中的按钮进行交互
function button:on_button_drag_and_drop(target)
print('鼠标拖拽结束',self,'目标',target)
end
1
2
3
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
2
3
# on_button_update_cooldown
冷却更新事件
function button:on_button_update_cooldown(time,max_time)
print('当按钮更新冷却',self,'当前时间',time,'总时间',max_time)
end
1
2
3
2
3
# on_button_cooldown_end
冷却结束事件
function button:on_button_cooldown_end()
print('按钮冷却结束',self)
end
1
2
3
2
3