本篇使用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