IScrollHandler-OnScroll,鼠标滚轮滚动事件
ISelectHandler-OnSelect,物体被选择时调用
IDeselectHandler-OnDeselect,物体取消被选择时调用
IInitializePotentialDrawHandler-OnInitializePotentialDrag,在被拖动的物体被找到时调用
IBeginDragHandler-OnBeginDrag,开始拖动时调用
IDragHandler-OnDrag,拖动时调用
IEndDragHandler-OnEndDrag,拖动结束时调用
IDropHandler-OnDrop,拖拽结束调用(?)
IPointerEnterHandler-OnPointerEnter,鼠标进入时调用
IPointerExitHandler-OnPointerExit,鼠标退出时调用
IPointerDownHandler-OnPointerDown,鼠标按下时调用
IPointerUpHandler-OnPointerUp,鼠标抬起时调用
IPointerClickHandler-OnPointerClick,鼠标按下并抬起时调用
IPointerClickHandler中要实现的只有一个方法,这个方法会在可用区域按下后抬起时调用
public class BasePanel : IPointerClickHandler{ public void OnPointerClick (PointerEventData eventData){ this.Onfocus (); } }
添加UGUI物体后,自动创建EventSystem,它由EventSystem,StandaloneInputModule,{TouchInputModule}两个组件组成。TouchInputModele的handle已经集成在StandaloneInputModule了。
EventSystem组件主要用来处理输入,射线投影和发送事件。InputModule继承自BaseInputModule,主要当然是发送输入事件到具体对象。
总的来说,EventSystem负责管理,BaseInputModule负责输入,BaseRaycaster负责确定目标对象,目标对象负责接受事件并处理,然后一个完整的事件系统就有了。
一个可以帮UI实现透明度(显示和隐藏),设置可不可交互等
Alpha 透明通道 0-1
Interactable 是否可交互
BlocksRaycasts 是否允许像collider那样接受Canvas的射线检测
this.transform.SetAsLastSibling (); this.transform.parent.SetAsLastSibling ();
已知ugui中,越靠前的物体将会被挡得越多,所以当要让某个元素排列在最前面时,将它设置在最后面
SetAsLastSibling方法将元素设置在同级元素的最后面,如果不止是同级元素,则可以考虑将父级元素也设为The Last元素,以此类推
public void Init(){ string[] panelNames = Enum.GetNames (typeof(UIPanelType)); //根据名字查找打开Panel的按钮 for(int i = 0;i<panelNames.Length;i++){ string ButtonName = panelNames[i]+"Btn"; string typeName = panelNames [i]; Button btn = GameObject.Find (ButtonName).GetComponent<Button> (); btn.onClick.AddListener(()=>{ OnClick(typeName);//主要在这,用方法调用方法 }); } } public void OnClick(string type){ UIPanelType eType =(UIPanelType) Enum.Parse (typeof(UIPanelType), type); UIManager.Instance.PushPanel (eType); }
OnClick(typeName) 这里的typeName是一个确定的值,应该添加事件委托时就保存下来了
参数中出现了i值就不行了,可能说明这个值是不确定的,委托机制会在用的时候再取出,此时已经没有这些变量了,错误
参数只有一个,那就是是否显示自身图片内容Show Mask Graphic
Mask遮罩,用于遮罩自身区域外的东西,通常用于可滚动区域,这样就可以形成一个小窗看世界了。
使用方法就是直接将需要遮住的类容,成为有Mask组件物体的子物体。
Rect Transform和一般的Transform不同,要修改大小时不是修改缩放,而是修改Width和Height属性
Pivot 是中心参考点(轴心),旋转,位置信息都与它有关
Anchors 锚点,用来制作自适应界面等。四个参考点,分别对应图片的四个角,当四个参考点设定好后,图片对应就会跟随参考点进行运动