关于源码
关于源码可以参考这篇博客下载或调试。
Selectable
特性
[AddComponentMenu("UI/Selectable", 70)] [ExecuteInEditMode] [SelectionBase] [DisallowMultipleComponent]
AddComponentMenu – 为Component菜单添加选项,顺序为70。当点击一个GameObject的AddComponent按钮时,会弹出一个菜单,点击UI选项,就可以看到排在最后一个的就是Selectable。
ExecuteInEditMode – 该组件会在编辑器下执行。
SelectionBase – 标记该对象为选择基本对象。
DisallowMultipleComponent – 不允许一个GameObject上出现同种组件。我们无法为一个对象添加两个Selectable组件,也无法为一个Button对象再添加一个InputField组件。
属性
- 继承自UIBehaviour,并且继承了7个接口。
public class Selectable : UIBehaviour, IMoveHandler, IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IPointerExitHandler, ISelectHandler, IDeselectHandler
UIBehaviour – 所有UI组件的基类,它被放在EventSystem目录下,除了IsDestroyed以外,其他都是虚函数,我们也可以认为它是事件系统的一部分,它添加了Awake(当脚本实例被加载,即AddComponent时)、OnRectTransformDimensionsChange(当RectTransform维度变化)等方法来接收来自UnityEngine 的事件。
Selectable – Awake 时获取了一个Graphic 的组件实例m_TargetGraphic(Image组件间接继承自Graphic)。如果我们选择的Transition为Color Tint,当Selectab

本文详细介绍了Unity UGUI中的Selectable组件,包括其特性、属性以及多个接口的实现,如IMoveHandler、IPointerDownHandler等,解释了状态变化与颜色、图片的更新。Button作为Selectable的子类,增加了对点击和确认事件的处理,并允许用户自定义onClick事件。文章最后强调了Selectable在UI交互中的重要性,可作为自定义组件的基础。
最低0.47元/天 解锁文章
749

被折叠的 条评论
为什么被折叠?



