標籤:style blog http color io os ar for 2014
一、步驟
監聽UI的Drag事件,需要我們寫一點點的代碼。
1、建立一個Panel ,設定size為(100,100)
2、建立DraggableObjectScene.cs指令碼
3、把指令碼綁定在Panel上
4、指令碼內容如下:
using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.EventSystems;public class DraggableObjectScene : MonoBehaviour,IDragHandler,IPointerDownHandler,IPointerUpHandler{ //Drag事件,設定目標的位置為滑鼠的位置 public void OnDrag(PointerEventData eventData) { GetComponent<RectTransform>().pivot.Set(0,0); transform.position=Input.mousePosition; } public void OnPointerDown(PointerEventData eventData) { //縮小 transform.localScale=new Vector3(0.7f,0.7f,0.7f); } public void OnPointerUp(PointerEventData eventData) { //正常大小 transform.localScale=new Vector3(1f,1f,1f); }}
Class DraggableObjectScene 繼承了IDragHandler,IPointerDownHandler,IPointerUpHandler三個介面,從而可以接受到 OnDrag(PointerEventData eventData) ,OnPointerDown(PointerEventData eventData) ,OnPointerUp(PointerEventData eventData) 三個事件
二、事件系統
Namespace:UnityEngine.EventSystems
IDragHandler (MouseDrag)
Interface to implement if you wish to receive OnDrag callbacks.
IPointerDownHandler (MouseDown)
Interface to implement if you wish to receive OnPointerDown callbacks.
IPointerUpHandler (MouseUp)
Interface to implement if you wish to receive OnPointerUp callbacks.
三、Drag 效果
uGUI練習(四) Draggable Object