欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Unity3D實(shí)現(xiàn)虛擬按鈕控制人物移動(dòng)效果

本文為大家分享了Unity3D實(shí)現(xiàn)虛擬按鈕控制人物移動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站制作與策劃設(shè)計(jì),張掖網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:張掖等地區(qū)。張掖做網(wǎng)站價(jià)格咨詢:13518219792

創(chuàng)建Image的UI組件,在Image下新建一個(gè)Button按鈕。在Image 和Button上拖進(jìn)Sprite圖片

Unity3D實(shí)現(xiàn)虛擬按鈕控制人物移動(dòng)效果

在Button按鈕上掛載該腳本

using System.Collections;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
 
public class MyJoystick : MonoBehaviour, IPointerDownHandler, IPointerUpHandler {
 
 public Canvas canvas;
 public static float h;  //h和v的值傳回給player腳本,使得物體移動(dòng)
 public static float v;
 
 private bool isPress = false; //Button按鈕是否按下
 private Vector2 touchPos = Vector2.zero; //按下的位置
 
 void Update() {
  if (isPress)
  {
   RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform,
    Input.mousePosition, null, out touchPos);
 
   //根據(jù)Canvas和Image的Rectransform位置相減得出
   touchPos += new Vector2(427, 299); 
 
   float distance = Vector2.Distance(Vector2.zero, touchPos);
 
   if (distance > 52) { //限制Button不能超出Image位置(兩者位置相減得出52)
    touchPos = touchPos.normalized*52;
    transform.localPosition = touchPos;
   }
   else
   {
    transform.localPosition = touchPos;
   }
 
   h = touchPos.x / 52;
   v = touchPos.y / 52;
  }
 
 }
 
 //鼠標(biāo)按下時(shí)觸發(fā)
 public void OnPointerDown(PointerEventData eventData) {
  isPress = true;
 }
 
 //鼠標(biāo)按鍵彈起時(shí)觸發(fā)
 public void OnPointerUp(PointerEventData eventData)
 {
  isPress = false;
  transform.localPosition = Vector3.zero;
 }
 
}

在玩家身上掛載控制玩家移動(dòng)的腳本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class PlayerMove : MonoBehaviour {
 
 public float speed = 0.1f;
 
 private float h = 0;
 private float v = 0;
 
 void Update() {
  //首先檢測(cè)虛擬按鍵有沒有移動(dòng),沒有再選擇鍵盤輸入
  if (Mathf.Abs(MyJoystick.h) > 0 || Mathf.Abs(MyJoystick.v) > 0) {
   h = MyJoystick.h;
   v = MyJoystick.v;
  }
  else{
   h = Input.GetAxis("Horizontal");
   v = Input.GetAxis("Vertical");
  }
  //玩家位置移動(dòng)
  if (Mathf.Abs(h) > 0.1 || Mathf.Abs(v) > 0.1) {
   Vector3 targetDir = new Vector3(h, 0, v);
   transform.position += targetDir * speed;
 
   transform.LookAt(transform.position+targetDir);
  }
  
 }
}

這樣,就能通過(guò)按下Button來(lái)控制玩家移動(dòng)了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

當(dāng)前標(biāo)題:Unity3D實(shí)現(xiàn)虛擬按鈕控制人物移動(dòng)效果
文章路徑:http://aaarwkj.com/article34/jegipe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、品牌網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)
真实国产熟女一区二区三区| av中文资源在线观看| 国产自产一区二区三区精品| 日本东京热二三四区不卡免费的| 婷婷激情综合亚洲五月色| 一级丰满少妇av大片| 国产精品人成在线观看不卡| 亚洲一区二区精品免费视频| 综合久久精品亚洲天堂| 精品欧美高清免费视频| 亚洲欧美国产日韩综合在线| 人妇乱系列中文字幕人妻| 午夜亚洲大片在线观看| 天天操天天夜夜操夜夜| 天天操夜夜操狠狠操91| 福利1中文字幕手机在线| 天堂社区人妻在线亚洲| 日本一区二区三区视频| 溪乱毛片一区二区三区| 大香蕉一区二区亚洲欧美| 超碰97精品在线观看| 伊人久久大香线蕉av网站| 年轻的少妇一区二区三区| 五月婷婷六月丁香免费视频| 亚洲天堂国产中文在线| 国产黄色一区二区三区,| 欧美高清视频免费播放| 一区二区三区都市激情| av亚洲天堂免费观看| 在线播放亚洲一区二区三区| 不卡视频在线免费观看| 91在线国内在线观看| 三欲一区二区三区中文字幕| av天堂精品一区二区三区| 高清av中文免费在线| 成人影院视频在线播放| 日韩一二三四区免费观看| 不卡视频在线免费观看| 成人免费在线国产视频| 亚洲欧洲一区二区免费| 丰满多毛熟妇的大阴户|