最新国产好看的视频,伊人天堂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)于通過(guò)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;//讓按鈕返回中心魏智
 }
}

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

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

相關(guān)文章

最新評(píng)論

仁怀市| 商水县| 民县| 武隆县| 时尚| 阜平县| 轮台县| 洞口县| 桂平市| 揭阳市| 锡林郭勒盟| 镇赉县| 朝阳区| 遵义市| 平陆县| 广汉市| 邓州市| 上饶市| 蒲城县| 海南省| 鄄城县| 申扎县| 锦屏县| 曲周县| 邢台市| 阿尔山市| 东辽县| 惠来县| 栖霞市| 远安县| 子长县| 秦皇岛市| 天等县| 巨鹿县| 志丹县| 澄江县| 乌兰察布市| 松潘县| 旬阳县| 五常市| 梅州市|