ユニティプラグインの研究-EasyTouch V5

ケース簡単タッチ5プラグを研究し、本当に重宝する時間を取って、次のように対応する使用です。

1.簡単にタッチコントロール:仮想ジョイスティックの実装するコンポーネント

        あなたが作成した後でプロジェクトの「階層」ウィンドウの下に、ジョイスティックのゲームオブジェクト=> EasyTouchControls =>ジョイスティックをクリックして、ロッカーオブジェクトは階層パネルに表示されますを作成するには、ゲームのビューはロッカーがあるでしょう、このプラグインが書かれUGUIに基づいている必要がありますそれが道に表示され、キャンバスのように下のオブジェクトのコントロールを作成する(そのメソッドUGUIカスタムイベントとイベントを追加基本的に同様である)、また、キャンバスとEventSystemを表示され、ジョイスティックは、サブオブジェクトのキャンバスになります。「InputManager」ゲームオブジェクトが存在します、ロッカーが終わっ追加、これはあなたがこのオブジェクトのゲームを削除した場合、制御EASYTOUCHユーザ入力を達成するために使用されなければならない、このゲームは動的に生成されたオブジェクトのゲームは、いくつかの設定です以下、実行されています:

               あなたが起動したときに物理エンジンがある場合にアクティブに、FixedUpdateを使用する必要がある場合名前は、表示されています

             ロッカーの位置を示し、オフセット、サイズ

              横軸であるロッカシャフト構成、制御対象のそのような回転は、スピードを「に基づいて、アクション「回転ローカル」を用いて、(タグモードを使用して、タグに自動リンクをも使用することができる)、そのオブジェクトを制御するために、200に設定されていますY「軸

             縦軸であるロッカシャフト構成、前後に「Z」軸を移動させるように構成される拡張

              三人称ゲームを実装する場合、多くの場合、あなたは、「MainCamera」を使用して、「追跡を有効にする」良いゲームオブジェクトのようにリンクをたどることができ、カメラを実行する必要があり、カメラでは、あなたが高さ、距離を追跡するために、カメラを制御することができ、「滑らかなフォロー」の使用を以下の

               これは、仮想ジョイスティックの写真を設定するために使用されます

            如果不用自动配置,想使用自己的代码来控制物体移动,代码中是使用:

ETCInput.GetAxis("Vertical")
ETCInput.GetAxis("Horizontal")

            唯一不好的是这个插件导入后,给了一大堆示例和文档,如果是项目开发会增加不少的size,做了相应的精减,只有200多K了https://files-cdn.cnblogs.com/files/bearhb/EasyTouchControls-min.rar

 2. Easy Touch:实现手势控制的组件

      (1)Hierarchy窗口中必须右键,生成"EasyTouch" ->"EasyTouch"物体;

      (2)QuickGesture:这个实在是太猛了, 如果想给某个游戏物体添加手势的一些事件,直接添加下面某个组件就可以了:

                  例如一个cube如果想被拖动,直接添加“Quick Drag"组件,这个Cube就可以实现拖动了,而且拖动的事件和UGUI完全一致;

      (3)如果需要在程序中进行手势判断,是需要下面的脚本:

using HedgehogTeam.EasyTouch;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TouchManager : MonoBehaviour
{
    private Renderer ren;
    private void Start()
    {
        ren = GetComponent<Renderer>();
    }
    void Update()
    {
        
        // 获取当前玩家输入的手势
        Gesture currentGesture = EasyTouch.current;
        //如果有手势
        if (currentGesture != null)
        {
            //区分手势进行检测
            switch (currentGesture.type)
            {
                //开始触摸
                case EasyTouch.EvtType.On_TouchStart:
                    Debug.Log("OnTouchStart");
                    Debug.Log("startPosition" + currentGesture.startPosition);
                    OnTouchStart(currentGesture);
                    break;
                //结束触摸
                case EasyTouch.EvtType.On_TouchUp:
                    OnTouchEnd(currentGesture);
                    break;
                //开始滑动
                case EasyTouch.EvtType.On_Swipe:
                    OnSwipe(currentGesture);
                    break;
                //简单点击下
                case EasyTouch.EvtType.On_SimpleTap:
                    Debug.Log("点击下");
                    break;
                //长按
                case EasyTouch.EvtType.On_LongTap:
                    Debug.Log("长按");
                    break;
            }      
        }
    }
    void OnTouchEnd(Gesture gesture)
    {
        Debug.Log("OnTouchEnd");
        Debug.Log("actionTime" + gesture.actionTime);
    }

    void OnSwipe(Gesture gesture)
    {
        Debug.Log("OnSwipe");
        //滑动的枚举(上、下、左、右、其他)
        Debug.Log("swipe" + gesture.swipe);
    }

    void OnTouchStart(Gesture gesture)
    {
        if (gesture.pickedObject == gameObject)
        {
            ren.material.color = new Color(Random.Range(0, 1.0f), Random.Range(0, 1.0f), Random.Range(0, 1.0f));
        }
    }
}

 

 

             

 

おすすめ

転載: www.cnblogs.com/bearhb/p/11425384.html