Unity使用ScrollRect製作搖桿
阿新 • • 發佈:2020-04-16
本文例項為大家分享了Unity使用ScrollRect製作搖桿的具體程式碼,供大家參考,具體內容如下
一. 前言
遊戲開發中,搖桿功能是很常見的,Unity的UGUI提供了ScrollRect元件,非常適合用來製作搖桿,效果如下:
二. 實現
1. 製作UI
如下,建立Rocker節點和center節點,分別為搖桿的背景圖和搖桿的手柄圖。
Rocker節點掛上Rocker指令碼(程式碼見文章最後),並賦值Content物件。
設定MovementType為Elastic。
2. 執行Unity進行測試
執行Unity即可測試搖桿功能。
3. Rocker指令碼程式碼
using UnityEngine; using UnityEngine.UI; public class Rocker: ScrollRect { protected float mRadius = 0f; protected override void Start() { base.Start(); //計算搖桿塊的半徑 mRadius = (transform as RectTransform).sizeDelta.x * 0.5f; } public override void OnDrag(UnityEngine.EventSystems.PointerEventData eventData) { base.OnDrag(eventData); var contentPostion = this.content.anchoredPosition; if (contentPostion.magnitude > mRadius) { contentPostion = contentPostion.normalized * mRadius; SetContentAnchoredPosition(contentPostion); } Debug.Log(contentPostion); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。