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

Unity3D實(shí)現(xiàn)人物轉(zhuǎn)向與移動(dòng)

 更新時(shí)間:2020年01月20日 08:35:11   作者:weixin_34233421  
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)人物轉(zhuǎn)向與移動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在網(wǎng)上有非常多通過射線方式實(shí)現(xiàn)的人物行走控制腳本,可是假設(shè)僅僅是想通過鍵盤按鍵來控制的話。比方進(jìn)行第三人稱視角控制,事實(shí)上僅僅須要進(jìn)行簡單的角度變換就可以。思路例如以下:

1、依照順時(shí)針方向設(shè)定前、右、后、左分別為0,1,2,3。

2、設(shè)定狀態(tài)初值0,即朝向前方。

3、通過當(dāng)前方向值減去前一次方向值,乘以90°即為轉(zhuǎn)向角,然后進(jìn)行旋轉(zhuǎn)變換就可以。

using UnityEngine;
using System.Collections;
using System.Linq;
public class move: MonoBehaviour
{
 private int State;//角色狀態(tài)
 private int oldState=0;//前一次角色的狀態(tài)
 private int UP = 0;//角色狀態(tài)向前
 private int RIGHT =1;//角色狀態(tài)向右
 private int DOWN = 2;//角色狀態(tài)向后
 private int LEFT = 3;//角色狀態(tài)向左
 
 public float speed=8;
 
 void Start()
 {
 }
 void Update()
 {
 if (Input.GetKey("w"))
 {
  setState(UP);
 }
 else if (Input.GetKey("s"))
 {
  setState(DOWN);
 }
 
 if (Input.GetKey("a"))
 {
  setState(LEFT);
 }
 else if (Input.GetKey("d"))
 {
  setState(RIGHT);
 }
 
 }
 
 
 void setState(int currState)
 {
 Vector3 transformValue = new Vector3();//定義平移向量
 int rotateValue = (currState - State) * 90;
 transform.animation.Play("walk");//播放角色行走動(dòng)畫
 switch (currState)
 {
 case 0://角色狀態(tài)向前時(shí),角色不斷向前緩慢移動(dòng)
  transformValue = Vector3.forward * Time.deltaTime * speed;
  break;
 case 1://角色狀態(tài)向右時(shí)。角色不斷向右緩慢移動(dòng)
  transformValue = Vector3.right * Time.deltaTime * speed;
  break;
 case 2://角色狀態(tài)向后時(shí)。角色不斷向后緩慢移動(dòng)
  transformValue = Vector3.back * Time.deltaTime * speed;
  break;
 case 3://角色狀態(tài)向左時(shí),角色不斷向左緩慢移動(dòng)
  transformValue = Vector3.left * Time.deltaTime * speed;
  break;
 }
 transform.Rotate(Vector3.up, rotateValue);//旋轉(zhuǎn)角色
 transform.Translate(transformValue, Space.World);//平移角色
 oldState = State;//賦值,方便下一次計(jì)算
 State = currState;//賦值,方便下一次計(jì)算
 }
 
 
}

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

相關(guān)文章

  • C#中String與string的區(qū)別分析

    C#中String與string的區(qū)別分析

    這篇文章主要介紹了C#中String與string的區(qū)別,對于加深C#數(shù)據(jù)類型與類的理解有很好的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-08-08
  • WPF實(shí)現(xiàn)窗體中的懸浮按鈕

    WPF實(shí)現(xiàn)窗體中的懸浮按鈕

    這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)窗體中的懸浮按鈕,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • C#字符串內(nèi)存駐留機(jī)制分析

    C#字符串內(nèi)存駐留機(jī)制分析

    這篇文章介紹了C#字符串內(nèi)存駐留機(jī)制,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • C#讀寫共享文件夾的方法

    C#讀寫共享文件夾的方法

    這篇文章主要為大家詳細(xì)介紹了C#讀寫共享文件夾的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C# 前端無插件打印導(dǎo)出實(shí)現(xiàn)方式詳解

    C# 前端無插件打印導(dǎo)出實(shí)現(xiàn)方式詳解

    本文講述了使用C#實(shí)現(xiàn)前端無插件的打印和導(dǎo)出功能,介紹了相關(guān)技術(shù)和方法,適合需要在項(xiàng)目中實(shí)現(xiàn)相應(yīng)功能的開發(fā)者參考
    2024-10-10
  • 如何使用C#操作幻燈片

    如何使用C#操作幻燈片

    一般大家經(jīng)常會(huì)用PPT遙控翻頁筆來遙控幻燈片,本文確為大家介紹了使用C#制作一個(gè)遙控幻燈片,感興趣的朋友可以參考下
    2015-07-07
  • C#獲取項(xiàng)目指定目錄下文件的方法

    C#獲取項(xiàng)目指定目錄下文件的方法

    這篇文章主要介紹了C#獲取項(xiàng)目指定目錄下文件的方法,涉及C#操作目錄及文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • C#使用AngleSharp庫解析html文檔

    C#使用AngleSharp庫解析html文檔

    這篇文章介紹了C#使用AngleSharp庫解析html文檔的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C# 表達(dá)式樹Expression Trees的知識梳理

    C# 表達(dá)式樹Expression Trees的知識梳理

    本篇文章主要介紹了表達(dá)式樹 Expression Trees的基礎(chǔ)知識:Lambda 表達(dá)式創(chuàng)建表達(dá)式樹;API 創(chuàng)建表達(dá)式樹;編譯表達(dá)式樹;執(zhí)行表達(dá)式樹;修改表達(dá)式樹等等,具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • C#編程中使用ref和out關(guān)鍵字來傳遞數(shù)組對象的用法

    C#編程中使用ref和out關(guān)鍵字來傳遞數(shù)組對象的用法

    這篇文章主要介紹了C#編程中使用ref和out關(guān)鍵字來傳遞數(shù)組對象的用法,在C#中數(shù)組也是對象可以被傳遞,需要的朋友可以參考下
    2016-01-01

最新評論

观塘区| 梁山县| 塘沽区| 华阴市| 东兴市| 塔城市| 霞浦县| 建始县| 西林县| 治多县| 三江| 德化县| 桃江县| 从江县| 海淀区| 阳泉市| 岢岚县| 陵水| 沁水县| 镇江市| 武强县| 石景山区| 筠连县| 张家界市| 马山县| 博爱县| 安溪县| 大渡口区| 德保县| 东丰县| 谢通门县| 左贡县| 内江市| 安吉县| 巩留县| 扶余县| 高青县| 庆城县| 五河县| 安西县| 天长市|