Unity使用ScrollRect制作搖桿
本文實(shí)例為大家分享了Unity使用ScrollRect制作搖桿的具體代碼,供大家參考,具體內(nèi)容如下
一. 前言
游戲開發(fā)中,搖桿功能是很常見的,Unity的UGUI提供了ScrollRect組件,非常適合用來制作搖桿,效果如下:

二. 實(shí)現(xiàn)
1. 制作UI
如下,創(chuàng)建Rocker節(jié)點(diǎn)和center節(jié)點(diǎn),分別為搖桿的背景圖和搖桿的手柄圖。
Rocker節(jié)點(diǎn)掛上Rocker腳本(代碼見文章最后),并賦值Content對象。
設(shè)置MovementType為Elastic。

2. 運(yùn)行Unity進(jìn)行測試
運(yùn)行Unity即可測試搖桿功能。
3. Rocker腳本代碼
using UnityEngine;
using UnityEngine.UI;
public class Rocker: ScrollRect
{
protected float mRadius = 0f;
protected override void Start()
{
base.Start();
//計(jì)算搖桿塊的半徑
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#的音樂播放器主Form實(shí)現(xiàn)代碼
這篇文章主要介紹了基于C#的音樂播放器主Form實(shí)現(xiàn)代碼,很實(shí)用的功能,需要的朋友可以參考下2014-08-08
基于C#實(shí)現(xiàn)設(shè)置桌面背景功能
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)設(shè)置桌面背景功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#百萬數(shù)據(jù)查詢出現(xiàn)超時(shí)問題的解決方法
這篇文章主要介紹了C#百萬數(shù)據(jù)查詢出現(xiàn)超時(shí)問題的解決方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09
C#使用struct直接轉(zhuǎn)換下位機(jī)數(shù)據(jù)的示例代碼
這篇文章主要介紹了C#使用struct直接轉(zhuǎn)換下位機(jī)數(shù)據(jù)的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
C#實(shí)現(xiàn)簡易計(jì)算器功能(1)(窗體應(yīng)用)
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

