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

unity實(shí)現(xiàn)手機(jī)端搖桿控制人物移動(dòng)

 更新時(shí)間:2020年04月14日 14:44:28   作者:魏恩君--Caroline  
這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)手機(jī)端搖桿控制人物移動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前言

玩過王者榮耀或者荒野行動(dòng)的人,都知道,手機(jī)左下方或右下方都會(huì)有一個(gè)搖桿,滑動(dòng)搖桿可以讓人物向360度方向移動(dòng)。沒有玩過的可以看看下方圖片(荒野行動(dòng)手機(jī)端為例)。本篇就來講解如何使用unity制作搖桿控制人物移動(dòng)。

2種方法:

1.GUITexture制作,是unity自帶的一個(gè)joystick組件,主要由GUITexture和一個(gè)JS腳本構(gòu)成。優(yōu)點(diǎn):unity自帶,使用簡單方便。缺點(diǎn)是無法適應(yīng)屏幕大小。

2.EasyTouch插件,可以實(shí)現(xiàn)1的功能并且克服了1的缺陷,可以適應(yīng)屏幕大小。本篇文章也是主要講解使用easyTouch插件實(shí)現(xiàn)搖桿控制人物移動(dòng)。

準(zhǔn)備

1.導(dǎo)入easyTouch包。在網(wǎng)上下載easyTouch的package,然后import到項(xiàng)目中,這時(shí)候,菜單會(huì)出現(xiàn)Tools。這時(shí)候搖桿我們具備了。

2.導(dǎo)入人物。unity功能超級(jí)強(qiáng)大,自帶一個(gè)人物模型,叫Ethan。這個(gè)時(shí)候要導(dǎo)入Standard Assets。里面就有Ethan模型(具體在Standard Assets--character--ThirdPersonCharacter--Models--Ethan)。

具體實(shí)現(xiàn)

1.點(diǎn)擊菜單中的tools--Hedgehog Team--EasyTouch--Extensions--Add a new joystick,這時(shí)候scene中就有了一個(gè)搖桿。

2.導(dǎo)入Ethan,找到Ethan直接拖到scene中就OK。

3.joystick參數(shù)設(shè)置和介紹見下圖

3.寫腳本,綁定到人物Ethan上。

using UnityEngine;
using System.Collections;
 
public class MoveController : MonoBehaviour
{
 void OnEnable()
 {
 EasyJoystick.On_JoystickMove += OnJoystickMove;
 EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;
 }
 
 //移動(dòng)搖桿結(jié)束 
 void OnJoystickMoveEnd(MovingJoystick move)
 {
 //停止時(shí),角色恢復(fù)狀態(tài)為idle 
 if (move.joystickName == "MoveJoystick")
 {
  GetComponent<Animation>().CrossFade("idle");
 }
 }
 
 //移動(dòng)搖桿中 
 void OnJoystickMove(MovingJoystick move)
 {
 if (move.joystickName != "MoveJoystick")
 {
  return;
 }
 
 //獲取搖桿中心偏移的坐標(biāo) 
 float joyPositionX = move.joystickAxis.x;
 float joyPositionY = move.joystickAxis.y;
 
 //搖桿中心位置只要產(chǎn)生變動(dòng),即只要對(duì)搖桿進(jìn)行操作
 if (joyPositionY != 0 || joyPositionX != 0)
 {  
  //移動(dòng)玩家的位置(按朝向位置移動(dòng)) 
  transform.Translate(Vector3.forward * Time.deltaTime * 100);
  //播放奔跑動(dòng)畫 
  GetComponent<Animation>().CrossFade("run"); 
 }
 }
}
#endregion

4.由于腳本中人物的移動(dòng)是播放動(dòng)畫,unity本身就有很多走啊、跑啊、靜止的一些動(dòng)畫,所以我們現(xiàn)在為Ethan添加動(dòng)畫(animation)。如下圖所示:

5.由于我們的游戲是純第一人稱游戲,所以是不需要再游戲中看到自己的。所以為Ethan添加First Person Controller的腳本。(這個(gè)根據(jù)項(xiàng)目需要而定)。

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

相關(guān)文章

最新評(píng)論

浦江县| 平和县| 宁陕县| 江油市| 绍兴市| 疏勒县| 拉萨市| 巫溪县| 安图县| 龙陵县| 庆阳市| 蓬莱市| 灵石县| 阿克苏市| 赤壁市| 神木县| 尼玛县| 邳州市| 长白| 彝良县| 宣城市| 雷州市| 西畴县| 盘锦市| 高雄市| 确山县| 石嘴山市| 张掖市| 治县。| 星座| 洛宁县| 葵青区| 新沂市| 抚顺市| 晋州市| 石台县| 固阳县| 双鸭山市| 凤山县| 新化县| 玉山县|