1. 程式人生 > 程式設計 >Unity使用ScrollRect製作搖桿

Unity使用ScrollRect製作搖桿

本文例項為大家分享了Unity使用ScrollRect製作搖桿的具體程式碼,供大家參考,具體內容如下

一. 前言

遊戲開發中,搖桿功能是很常見的,Unity的UGUI提供了ScrollRect元件,非常適合用來製作搖桿,效果如下:

Unity使用ScrollRect製作搖桿

二. 實現

1. 製作UI

如下,建立Rocker節點和center節點,分別為搖桿的背景圖和搖桿的手柄圖。
Rocker節點掛上Rocker指令碼(程式碼見文章最後),並賦值Content物件。
設定MovementTypeElastic

Unity使用ScrollRect製作搖桿

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);
 }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。