基於Ugui的窗口拖拽功能

用慣電腦的同學都知道,PC上面的窗口有個最大的特點就是可以拖動,隨便拖動,很方便,但遊戲中也要有的東西能夠拖動,因爲要做這個功能,所以就慢慢寫出來了,下面寫個博客來記錄下拖拽功能的實現!

首先要在場景裏面建立一張圖片,或者butten,只要能顯示的就可以,然後寫下一個這樣的腳本:

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
using System;

public class Chick : MonoBehaviour ,IDragHandler,IPointerDownHandler,IPointerUpHandler{
    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);
    }
}
然後將這個腳本掛在你想拖動的圖片或者butten上面就可以實現拖拽功能了。

這個腳本的效果還是很不錯的,因爲有一個大小的變換,整體不錯,好本期教程到此結束GoodLuck!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章