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

Unity實現(xiàn)簡單手勢識別

 更新時間:2020年07月12日 15:38:43   作者:Maddie_Mo  
這篇文章主要為大家詳細介紹了Unity實現(xiàn)簡單手勢識別,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Unity實現(xiàn)手勢識別的具體代碼,供大家參考,具體內(nèi)容如下

代碼很簡單沒有難度,都有注解,隨便 看一看 就會了。

CallEvent () 方法需要自己搭載使用。

Unity代碼

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 手勢識別
/// </summary>

public class PlayerAnimator_ZH : MonoBehaviour
{
 //鼠標第一次點擊位置
 public Vector2 _MousePos;
 //位置枚舉
 public GestureState _GestureStateBe;
 //最小動作距離
 private float _MinGestureDistance = 20.0f;
 //手勢開啟布爾
 private bool _IsInvaild;
 
 void Update()
 {
  //手勢方法
  GestureOnClick();
 }

 //手勢方法
 public void GestureOnClick()
 {
  //手勢為空
  _GestureStateBe = GestureState.Null;

  if (Input.GetMouseButtonDown(0))
  {
   //第一次鼠標點擊位置記錄
   _MousePos = Input.mousePosition;
   //開啟手勢識別
   _IsInvaild = true;

  }
  if (Input.GetMouseButton(0))
  {
   //鼠標軌跡向量
   Vector2 _Dis = (Vector2)Input.mousePosition - _MousePos;
   //畫線
   Debug.DrawLine(_MousePos, (Vector2)Input.mousePosition, Color.cyan);
   //判斷當(dāng)前 向量的長度 是否大于 最小動作距離
   if (_Dis.magnitude>_MinGestureDistance)
   {
    //判斷在 空間 X軸 還是在 Y軸
    if (Mathf.Abs(_Dis.x) > Mathf.Abs(_Dis.y) && _IsInvaild)
    {
     if (_Dis.x > 0)
     {
      //如果當(dāng)前向量值 X 大于 0 就是 Right 狀態(tài)
      _GestureStateBe = GestureState.Right;
     }
     else if (_Dis.x < 0)
     {
      //如果當(dāng)前向量值 X 小于 0 就是 Lift 狀態(tài)
      _GestureStateBe = GestureState.Lift;
     }
    }
    //判斷在 空間 X軸 還是在 Y軸
    else if (Mathf.Abs(_Dis.x) < Mathf.Abs(_Dis.y) && _IsInvaild)
    {
     if (_Dis.y > 0)
     {
      //如果當(dāng)前向量值 Y 大于 0 就是 Up 狀態(tài)
      _GestureStateBe = GestureState.Up;
     }
     else if (_Dis.y < 0)
     {
      //如果當(dāng)前向量值 Y 小于 0 就是 Down 狀態(tài)
      _GestureStateBe = GestureState.Down;
     }
    }
    //關(guān)閉手勢識別
    _IsInvaild = false;
   }   
  }
 }

 //呼叫事件
 public void CallEvent()
 {
  switch (_GestureStateBe)
  {
   case GestureState.Null:

    // Null 方法調(diào)用(自己寫)

    break;

   case GestureState.Up:

    // Up 方法調(diào)用(自己寫)

    break;

   case GestureState.Down:

    // Down 方法調(diào)用(自己寫)

    break;

   case GestureState.Lift:

    // Lift 方法調(diào)用(自己寫)

    break;

   case GestureState.Right:

    // Right 方法調(diào)用(自己寫)

    break;

   default:
    break;
  }
 }

 //狀態(tài)枚舉
 public enum GestureState
 {
  Null,
  Up,
  Down,
  Lift,
  Right
 }
}

其實代碼還可進行補充,比如左上、左下、右上、右下、疊加等等吧,如有問題就 Call 我吧。

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

相關(guān)文章

  • C# XML序列化方法及常用特性總結(jié)分析

    C# XML序列化方法及常用特性總結(jié)分析

    這篇文章主要介紹了C# XML序列化方法及常用特性,總結(jié)分析了C# xml序列化的實現(xiàn)方法及序列化常用Attribute含義與功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • C#實現(xiàn)將商品金額小寫轉(zhuǎn)換成大寫的方法

    C#實現(xiàn)將商品金額小寫轉(zhuǎn)換成大寫的方法

    這篇文章主要介紹了C#實現(xiàn)將商品金額小寫轉(zhuǎn)換成大寫的方法,涉及C#數(shù)組與字符串的相關(guān)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • C#組合函數(shù)的使用詳解

    C#組合函數(shù)的使用詳解

    本篇文章是對C#中的組合函數(shù)的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • C# 實現(xiàn)ADSL自動斷網(wǎng)和撥號的方法(適用于撥號用戶)

    C# 實現(xiàn)ADSL自動斷網(wǎng)和撥號的方法(適用于撥號用戶)

    下面小編就為大家?guī)硪黄狢# 實現(xiàn)ADSL自動斷網(wǎng)和撥號的方法(適用于撥號用戶)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C#實現(xiàn)簡化QQ聊天窗口

    C#實現(xiàn)簡化QQ聊天窗口

    這篇文章主要為大家詳細介紹了C#實現(xiàn)簡化QQ聊天窗口,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C# 如何添加錯誤日志信息

    C# 如何添加錯誤日志信息

    這篇文章主要介紹了C# 如何添加錯誤日志信息,錯誤日志是軟件用來記錄運行時出錯信息的文本文件。編程人員和維護人員等可以利用錯誤日志對系統(tǒng)進行調(diào)試和維護。
    2020-11-11
  • 詳解C#編程中異常的創(chuàng)建和引發(fā)以及異常處理

    詳解C#編程中異常的創(chuàng)建和引發(fā)以及異常處理

    這篇文章主要介紹了C#編程中異常的創(chuàng)建和引發(fā)以及異常處理,文中介紹了Catch塊和Finally塊等基本的異常處理要點,需要的朋友可以參考下
    2016-02-02
  • c#中返回文章發(fā)表的時間差的示例

    c#中返回文章發(fā)表的時間差的示例

    現(xiàn)在是2012-12-04 11:29:59,發(fā)表時間是:2012-12-02 21:29:59,傳統(tǒng)的ts.Days因為值為1天14小時0分0秒,會返回“昨天”,而這個會返回“前天”
    2012-12-12
  • C# GDI+實現(xiàn)時鐘表盤

    C# GDI+實現(xiàn)時鐘表盤

    這篇文章主要為大家詳細介紹了C# GDI+實現(xiàn)時鐘表盤,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • c#設(shè)計模式之單例模式的實現(xiàn)方式

    c#設(shè)計模式之單例模式的實現(xiàn)方式

    這篇文章主要給大家介紹了關(guān)于c#設(shè)計模式之單例模式的實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用c#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

太原市| 尉氏县| 元江| 伊金霍洛旗| 阿克| 昔阳县| 呼和浩特市| 大兴区| 崇义县| 富民县| 灵武市| 新巴尔虎右旗| 镇安县| 临湘市| 安达市| 萨迦县| 梁山县| 玛纳斯县| 昌平区| 南丹县| 新密市| 子洲县| 巴里| 玛沁县| 永定县| 应城市| 普格县| 四子王旗| 重庆市| 南宫市| 余江县| 池州市| 陆河县| 华容县| 南昌县| 吴江市| 新河县| 汾阳市| 镇原县| 上杭县| 万盛区|