bones脚本篇 - 模拟一个按钮

本文介绍如何使用bones脚本来模拟一个按钮,包括按钮的四个状态:普通、高亮、按下和禁用。通过在XML文件中链接4幅图片并设置mouse事件响应。同时讲解了bones的事件模型,类似DOM的事件模型,涉及捕获、目标和冒泡三个阶段。文章提供了具体的lua代码示例,并利用onHitTest通知自定义鼠标响应区域,通过检查像素透明度决定是否响应鼠标事件。
摘要由CSDN通过智能技术生成

本篇使用image标签来模拟1个按钮的行为,要模拟按钮就要响应事件,除root以外每一个内置标签都可以响应事件。 bones的事件模型类似于dom的事件模型,事件在传递的过程中分为3个阶段 capturing target bublling,
以鼠标事件为例 a,b,c三个节点 a是b的父 b是c的父 ,当鼠标在c的节点时
事件会先传递给a 然后b 此时是capturing阶段 再传给c 此时是target阶段 再传个b然后是a此时是bublling阶段 具体的描述参照dom文档
支持的事件类型参照bones.h中BonesHandler接口

一:如何模拟一个按钮
通常按钮有4个状态 普通状态 鼠标进入的高亮状态 左键点击的 按下状态 以及禁用disable状态
按钮的xml文件如下:


<bones>
  <head>
    <link type ="pixmap" name ="common" file ="../res/common.png"></link>
    <link type ="pixmap" name ="highlight" file ="../res/highlight.png"></link>
    <link type ="pixmap" name ="press" file ="../res/press.png"></link>
    <link type ="pixmap" name ="disable" file ="../res/disable.png"></link>
    <link type ="script" module ="test" file="test.lua"></link>
    <style>
      .red
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值