1、首先在相應的位置添加一個(UGUI控件)image,在image下添加文本框和按鈕設計彈出框內容如圖:
2、新建C#腳本UITips
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UITips : MonoBehaviour { public static Vector3 vec3, pos; // Use this for initialization void Start () { gameObject.SetActive(false); } /// <summary> /// 按下鼠標將會觸發事件 /// </summary> public void PointerDown() { vec3 = Input.mousePosition;//獲取當前鼠標的位置 pos = transform.GetComponent<RectTransform>().position;//獲取自己所在的位置 } /// <summary> /// 鼠標拖拽時候會被觸發的事件 /// </summary> public void Drag() { Vector3 off = Input.mousePosition - vec3; //此處Input.mousePosition指鼠標拖拽結束的新位置 //減去剛才在按下時的位置,剛好就是鼠標拖拽的偏移量 vec3 = Input.mousePosition;//刷新下鼠標拖拽結束的新位置,用於下次拖拽的計算 pos = pos + off;//原來image所在的位置自然是要被偏移 transform.GetComponent<RectTransform>().position = pos;//直接將自己刷新到新坐標 } /// <summary> /// 此函數接口將賦予給“彈出對話框”按鈕的onClick事件 /// </summary> public void onShow() { gameObject.SetActive(true); } /// <summary> /// 此函數接口將賦予給“確認”按鈕的onClick事件 /// </summary> public void onOK() { gameObject.SetActive(false); } // Update is called once per frame void Update () { } }
3、把腳本UITips給Image,給Image添加Component--Event Trigger(script)--點擊Add New Event Type--添加鼠標點擊拖拽事件
記住
紅色標記處添加的是腳本所掛的UI控件,然后再添加腳本對應的函數
4、在界面上添加一個按鈕。給按鈕添加onclick事件