1.层级相关
Canvas中属性如下
排序(遮盖关系)方式如下:
先按照SortingLayer排序,大的在上面
SortingLayer相同(同层)的情况下,比较OrderInLayer,同样是大的在上面
以上两者都相同时,以节点树中的上下顺序决定,上下顺序在代码中即SetSiblingIndex
若使用了嵌套的Canvas
选中OverrideSorting 可以改变排序(不受父节点影响)
2.触摸响应
默认UI元素可以捕获触摸事件(并停止向下传播)/或不捕获触摸事件
捕获触摸事件需要满足以下条件
(1)UI节点上RaycastTarget选中
(2)其受影响的Canvas节点中启用了GraphicRaycaster组件
必须同时满足以上两点,才可能捕获触摸
且多个节点满足条件时,仅排序在最上面的节点可以捕获触摸,之后触摸事件不再向下传递
排序方式与显示上的排序逻辑一致如上文层级关系中所述
默认在Hierarchy中创建的Canvas如下,已经包含了GraphicRaycaster
而在Inspector中Add得到的Canvas组件如下是不包含GraphicRaycaster组件的(嵌套/非嵌套都一样)
(3)传递触摸事件
Cocos中可以方便的向下传递触摸事件
Unity中还未详细研究
TODO
QQ:393422044
Email:fkrfkrfkr@163.com