最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity實(shí)現(xiàn)虛擬搖桿效果

 更新時(shí)間:2020年04月14日 14:25:52   作者:糟糕點(diǎn)師  
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)虛擬搖桿效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Unity實(shí)現(xiàn)虛擬搖桿效果的具體代碼,供大家參考,具體內(nèi)容如下

首先添加兩者圖片

從左到右分別是Back和Front

將Front放到Back中心
在Front身上添加腳本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;//導(dǎo)入命名空間

public class JoyStick : MonoBehaviour,IPointerDownHandler,IPointerUpHandler {//實(shí)現(xiàn)接口

 private bool isTouched = false;//標(biāo)志位,用于標(biāo)示值是否拖拽按鈕
 private static float h = 0;
 private static float v = 0;//這兩者用于表示水平(豎直)方向按鈕移動(dòng)的值,相當(dāng)于通過Input.GetAxis("Horizontal");Input.GetAxis("Vertical");
 [SerializeField] private Vector2 joystickPivot;//按鈕中心位置在世界坐標(biāo)中的值
 [SerializeField] private float radius;//按鈕的半徑(決定了按鈕的活動(dòng)范圍)

 // Update is called once per frame
 void Update () {
 if (isTouched)
 {
  Vector2 mouPos = Input.mousePosition;
  mouPos -= joystickPivot;//將鼠標(biāo)位置轉(zhuǎn)換為本地坐標(biāo)
  if (Vector2.Distance(mouPos,Vector2.zero)>=radius)//如果鼠標(biāo)移動(dòng)超出范圍,將圖片放到邊緣
  {
  mouPos = mouPos.normalized*radius;
  }
  transform.localPosition = mouPos;
  h = mouPos.x/radius;
  v = mouPos.y/radius;

 }
 }

 public void OnPointerDown(PointerEventData eventData)
 {
 isTouched = true;
 }

 public void OnPointerUp(PointerEventData eventData)
 {
 isTouched = false;
 h = 0;
 v = 0;//不拖拽時(shí)二者為0
 transform.localPosition = Vector3.zero;//讓按鈕返回中心魏智
 }
}

對于代碼中的h,v就是我們操作遙感時(shí)水平(豎直)方向獲取的值(0-1),其他腳本獲取這兩個(gè)靜態(tài)變量的值就可以實(shí)現(xiàn)對自身物體的移動(dòng)了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

航空| 诏安县| 宁乡县| 肃南| 六枝特区| 井陉县| 塔河县| 水城县| 琼海市| 岐山县| 西华县| 伊川县| 安图县| 阜城县| 丰镇市| 永寿县| 五常市| 海南省| 申扎县| 甘谷县| 寻乌县| 温泉县| 那坡县| 桓仁| 崇州市| 会宁县| 商都县| 阿拉善左旗| 宾阳县| 淅川县| 灌南县| 平谷区| 方正县| 沙雅县| 晋州市| 新晃| 邛崃市| 含山县| 临安市| 抚顺县| 分宜县|