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

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ā)
国产精品久久一区二区三区蜜桃| 国产H精品在线观看| 亚洲av少妇一区二区成年男人 | 欧美劲爆三级免费观看| 91福利社区欧美大片| 五月婷婷少妇中文字幕| 日本午夜一区二区在线观看| 国产久精品热看久品热久热| 久久精品性少妇一区=区三区| 国产三级精品三级精品在一区| 国产内射一级一片内射高清视频1 亚洲一区二区三区不卡伦理 | 国产亚洲精品精品国产亚洲| 在线观看中文字幕日韩精品| 五月婷婷六月丁香综合激情| 99热在线精品国产观看| 福利成人午夜国产一区| 久久精品国产亚洲av麻豆网站| 日本午夜视频在线观看| 校花出白浆视频一区二区三区| 日韩av人妻一区二区三区| 欧美日韩精品免费在线观看| 韩国av一区二区三区| 亚洲人妻不卡一区二区| 日本熟妇中文字幕三级久久| 女同亚洲一区二区三区| 亚洲国产男同日韩小鲜肉| 日韩三级一区二区三区| 亚洲精品一区二区三区小| av免费在线观看大全| 99热这里只有精品网址| av黄色成人在线观看| 极品丝袜美腿一区二区| 天堂av好男人亚洲精品| 精品一区二区视频在线观看网站 | 欧美日韩黄色在线观看| 日本中文字幕区二区三区电影| 国产精品观看在线亚洲人成网| 持续侵犯人妻中文字幕| 九九在线视频精品免费播放| 国产91黑丝在线视频| 国产日韩欧美另类专区|