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對(duì)象。
設(shè)置MovementType為Elastic。

2. 運(yùn)行Unity進(jìn)行測(cè)試
運(yùn)行Unity即可測(cè)試搖桿功能。
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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#使用WebSocket實(shí)現(xiàn)聊天室功能
這篇文章主要為大家詳細(xì)介紹了C#使用WebSocket實(shí)現(xiàn)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
C# 命名空間(Namespace)相關(guān)知識(shí)總結(jié)
這篇文章主要介紹了C# 命名空間(Namespace)的相關(guān)知識(shí),文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以參考下2020-06-06
C#使用whisper.net實(shí)現(xiàn)語音識(shí)別功能
這篇文章主要為大家詳細(xì)介紹了C#如何使用whisper.net實(shí)現(xiàn)語音識(shí)別功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以學(xué)習(xí)一下2023-11-11
詳解C#讀取Appconfig中自定義的節(jié)點(diǎn)
我們往往需要在App.config中自定義一些節(jié)來滿足實(shí)際需要,而不依賴于App.config的appSettings,下面通過一個(gè)簡單的實(shí)例來說明自定義配置節(jié)點(diǎn)的設(shè)置與讀取2015-06-06
使用C#實(shí)現(xiàn)網(wǎng)頁內(nèi)容保存為圖片并生成壓縮包
這篇文章主要為大家詳細(xì)介紹了如何使用C#實(shí)現(xiàn)網(wǎng)頁內(nèi)容保存為圖片并生成壓縮包,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02

