Unity使用ScrollRect制作搖桿
本文實例為大家分享了Unity使用ScrollRect制作搖桿的具體代碼,供大家參考,具體內(nèi)容如下
一. 前言
游戲開發(fā)中,搖桿功能是很常見的,Unity的UGUI提供了ScrollRect組件,非常適合用來制作搖桿,效果如下:
二. 實現(xiàn)
1. 制作UI
如下,創(chuàng)建Rocker節(jié)點和center節(jié)點,分別為搖桿的背景圖和搖桿的手柄圖。
Rocker節(jié)點掛上Rocker腳本(代碼見文章最后),并賦值Content對象。
設(shè)置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); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#百萬數(shù)據(jù)查詢出現(xiàn)超時問題的解決方法
這篇文章主要介紹了C#百萬數(shù)據(jù)查詢出現(xiàn)超時問題的解決方法,是非常實用的技巧,需要的朋友可以參考下2014-09-09C#使用struct直接轉(zhuǎn)換下位機數(shù)據(jù)的示例代碼
這篇文章主要介紹了C#使用struct直接轉(zhuǎn)換下位機數(shù)據(jù)的示例代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01C#實現(xiàn)簡易計算器功能(1)(窗體應(yīng)用)
這篇文章主要為大家詳細介紹了C#實現(xiàn)簡易計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01