中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

做網(wǎng)站如何賺錢培訓機構連鎖加盟

做網(wǎng)站如何賺錢,培訓機構連鎖加盟,廣西智能網(wǎng)站建設哪家好,香港主機做電影網(wǎng)站簡介 在許多移動游戲中,虛擬操縱桿是一個重要的用戶界面元素,用于控制角色或物體的移動。本文將介紹如何在Unity中實現(xiàn)虛擬操縱桿,提供了一段用于移動控制的代碼。我們將討論不同類型的虛擬操縱桿,如固定和跟隨,以及如…

簡介

在許多移動游戲中,虛擬操縱桿是一個重要的用戶界面元素,用于控制角色或物體的移動。本文將介紹如何在Unity中實現(xiàn)虛擬操縱桿,提供了一段用于移動控制的代碼。我們將討論不同類型的虛擬操縱桿,如固定和跟隨,以及如何在實際游戲中使用這些操縱桿。

界面節(jié)點設置

1. 添加一個Canvas節(jié)點

首先,我們需要創(chuàng)建一個畫布節(jié)點,這是我們整個界面的基礎。這個節(jié)點將允許我們繪制和排列其他元素。

2. 在Canvas節(jié)點下添加一個Panel節(jié)點

接下來,我們將在Canvas節(jié)點下創(chuàng)建一個Panel節(jié)點。這個Panel節(jié)點將充當容器,用于組織和管理我們的界面元素。

3. 在Panel節(jié)點下添加兩個Image節(jié)點

在Panel節(jié)點中,我們將添加兩個Image節(jié)點。這兩個Image節(jié)點具有不同的用途:

a. 背景節(jié)點:第一個Image節(jié)點將用作背景,為整個界面提供背景圖像或顏色。

b. 操作按鈕節(jié)點:第二個Image節(jié)點將用于顯示操作按鈕或其他交互元素。

4. 結(jié)構示意圖:

你可以使用以下結(jié)構示意圖來更清晰地展示節(jié)點的層次關系:

UiCanvas (畫布)
│
└─ Joystick (面板)│├─ Bg(背景)│└─ Btn(操作按鈕)

截圖可以這樣:

腳本編寫

簡要說明:

因為編寫的是虛擬操作桿 需要添加三個事件:

觸摸開始(Pointer Down),拖動(Drag),觸摸結(jié)束(Pointer Up)

在觸摸開始記錄拖動的一些起始坐標。

在拖動中移動操作按鈕節(jié)點如果是操作角色移動這里就可以操作移動角色

在觸摸結(jié)束的時候重置坐標

  1. PointerDown方法:描述PointerDown方法,它處理當玩家觸摸操縱桿時的行為。根據(jù)操縱桿類型(固定或跟隨),它設置操縱桿的初始位置。

  2. Drag方法:詳細解釋Drag方法,這是當玩家拖動操縱桿時執(zhí)行的代碼。說明如何計算操縱桿輸入的方向,以及如何限制操縱桿的移動范圍。

  3. PointerUp方法:描述PointerUp方法,用于當玩家釋放操縱桿時重置相關變量和位置,同時停止玩家的移動。

在初始化引用的時候可以傳入?yún)?shù)(JoystickType)控制虛擬操作桿是固定的還是跟隨觸摸點的

完整的腳本如下:

using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;public class MovementJoystick : MonoBehaviour
{// 枚舉類型,用于指定操縱桿的類型public enum JoystickType{FIXED,    // 固定類型的操縱桿FOLLOW    // 跟隨類型的操縱桿}// 對操縱桿和其背景對象的引用public GameObject joystick;  // 操縱桿對象public GameObject joystickBG;  // 操縱桿背景對象// 存儲當前操縱桿的輸入值作為一個二維向量public Vector2 joystickVec;// 指定操縱桿的類型(固定或跟隨)public JoystickType joystickType = JoystickType.FIXED;// 觸摸操縱桿時的位置private Vector2 joystickTouchPos;// 操縱桿背景的原始位置private Vector2 joystickOriginalPos;// 操縱桿背景的半徑,根據(jù)屏幕寬度計算而來private float joystickRadius;// 初始化void Start(){// 初始化操縱桿背景的原始位置joystickOriginalPos = joystickBG.transform.position;// 根據(jù)屏幕寬度計算操縱桿背景的半徑joystickRadius = joystickBG.GetComponent<RectTransform>().sizeDelta.y * Screen.width / 800 / 2;}// 當玩家按下操縱桿時調(diào)用public void PointerDown(){if (joystickType == JoystickType.FIXED){// 對于固定操縱桿,將觸摸位置設置為操縱桿背景的原始位置joystickTouchPos = joystickOriginalPos;}else if (joystickType == JoystickType.FOLLOW){// 對于跟隨操縱桿,將操縱桿及其背景設置為觸摸位置joystick.transform.position = Input.mousePosition;joystickBG.transform.position = Input.mousePosition;joystickTouchPos = Input.mousePosition;}}// 當玩家拖動操縱桿時調(diào)用public void Drag(BaseEventData baseEventData){// 將基本事件數(shù)據(jù)強制轉(zhuǎn)換為PointerEventDataPointerEventData pointerEventData = (PointerEventData)baseEventData;// 獲取當前拖動位置Vector2 dragPos = pointerEventData.position;// 計算操縱桿輸入的方向joystickVec = (dragPos - joystickTouchPos).normalized;// 計算當前位置與觸摸位置之間的距離float joystickDist = Vector2.Distance(dragPos, joystickTouchPos);// 限制操縱桿在指定半徑范圍內(nèi)移動if (joystickDist < joystickRadius){joystick.transform.position = joystickTouchPos + joystickVec * joystickDist;}else{joystick.transform.position = joystickTouchPos + joystickVec * joystickRadius;}// 根據(jù)操縱桿輸入設置玩家的移動方向// HHSJ.Main.instance.PlayerEx.GetComponent<HHSJ.Player>().moveDir = dragPos - joystickTouchPos;}// 當玩家釋放操縱桿時調(diào)用public void PointerUp(){// 重置操縱桿輸入和位置到初始值joystickVec = Vector2.zero;joystick.transform.position = joystickOriginalPos;joystickBG.transform.position = joystickOriginalPos;// 將玩家的移動方向重置為零// HHSJ.Main.instance.PlayerEx.GetComponent<HHSJ.Player>().moveDir = Vector3.zero;}// 可以在這里添加其他方法和FixedUpdate以實現(xiàn)特定功能
}

大致效果如下:

社交:

QQ群:859055710?

http://www.risenshineclean.com/news/8236.html

相關文章:

  • 濟源哪里做網(wǎng)站培訓心得體會范文500字
  • 打折網(wǎng)站建設教程下載青島設計優(yōu)化公司
  • 織夢模板添加網(wǎng)站地圖網(wǎng)絡營銷推廣方式包括
  • 順德網(wǎng)站設計制作站長工具怎么關閉
  • 做logo有哪些網(wǎng)站推廣服務公司
  • 網(wǎng)站域名服務器查詢百度知道提問
  • 千萬不能 網(wǎng)站市場調(diào)研怎么寫
  • 四川遂寧做網(wǎng)站的公司武漢網(wǎng)站建設推廣公司
  • 程序員為什么不敢創(chuàng)業(yè)做網(wǎng)站關鍵詞優(yōu)化好
  • 南陽企業(yè)網(wǎng)站推廣方法最近重大新聞頭條
  • 揚中熱線論壇appsem和seo是什么
  • 72建站網(wǎng)吉林網(wǎng)站推廣公司
  • 利于優(yōu)化的網(wǎng)站怎么讓網(wǎng)站排名上去
  • 網(wǎng)站建設 學生作業(yè)seo點擊排名器
  • 做美食軟件視頻網(wǎng)站有哪些正在播網(wǎng)球比賽直播
  • 做胃鏡多少錢天津津門網(wǎng)站I有域名了怎么建立網(wǎng)站
  • 南寧做網(wǎng)站公司cilimao磁力貓
  • 網(wǎng)站建設插入圖片怎么加快速優(yōu)化工具
  • 網(wǎng)站友好度百度網(wǎng)盤app下載安裝官方免費版
  • 購物網(wǎng)站成品蘭州網(wǎng)絡推廣優(yōu)化服務
  • 公益網(wǎng)站怎么做廣州seo網(wǎng)絡培訓課程
  • 嘉興網(wǎng)站搜索優(yōu)化成都最新動態(tài)
  • 淄博外貿(mào)網(wǎng)站建設公司hao123影視
  • 極速微網(wǎng)站建設cms如何做網(wǎng)絡推廣
  • 健身網(wǎng)站怎么做直通車關鍵詞優(yōu)化口訣
  • 做管理信息的網(wǎng)站嗎優(yōu)化網(wǎng)站推廣網(wǎng)站
  • 手機網(wǎng)站建設的教程視頻南昌seo排名
  • 大連關鍵詞優(yōu)化服務怎么快速優(yōu)化網(wǎng)站排名
  • 專業(yè)的建設網(wǎng)站百度指數(shù)查詢官網(wǎng)入口登錄
  • 學網(wǎng)站開發(fā)的軟件有哪些微信群推廣網(wǎng)站