zoukankan      html  css  js  c++  java
  • EasyTouch物体的旋转缩放

    public class ArMonoDevelop : MonoBehaviour
    {
    
        // Use this for initialization
        //需要放大缩小旋转的物体
        public GameObject rotateAndEnlargeObj;
        public bool isRotate = true;
        public bool isEnlarge = true;
    
        void Start()
        {
    
        }
        void OnEnable()
        {
            if (isRotate)
            {
                EasyTouch.On_Drag += OnDrag;
            }
    
            if (isEnlarge)
            {
                EasyTouch.On_PinchIn += OnPinchIn;
                EasyTouch.On_PinchOut += OnPinchOut;
            }
    
            EasyTouch.On_SimpleTap += OnSimpleTap;
            EasyTouch.On_DoubleTap += OnDoubleTap;
    
        }
        void OnDisable()
        {
            if (isRotate)
            {
                EasyTouch.On_Drag -= OnDrag;
            }
    
            if (isEnlarge)
            {
                EasyTouch.On_PinchIn -= OnPinchIn;
                EasyTouch.On_PinchOut -= OnPinchOut;
            }
    
            EasyTouch.On_SimpleTap -= OnSimpleTap;
            EasyTouch.On_DoubleTap -= OnDoubleTap;
        }
        void OnSimpleTap(Gesture gest)
        {
            if (gest.pickedObject != null)
            {
                SimpleTap(gest);
            }
            else
            {
                Vuforia.CameraDevice.Instance.SetFocusMode(Vuforia.CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO);
            }
        }
        protected virtual void SimpleTap(Gesture gest)
        {
    
        }
        void OnDoubleTap(Gesture gest)
        {
            if (gest.pickedObject != null)
            {
                DoubleTap(gest);
            }
        }
        protected virtual void DoubleTap(Gesture gest)
        {
    
        }
        void OnDrag(Gesture gest)
        {
            if (gest.pickedObject != null)
            {
                if (rotateAndEnlargeObj != null)
                {
                    Vector3 v = rotateAndEnlargeObj.transform.localRotation.eulerAngles;
                    v.y -= gest.deltaPosition.x * 20 * Time.deltaTime;
                    v.y -= gest.deltaPosition.y * 20 * Time.deltaTime;
                    rotateAndEnlargeObj.transform.localRotation = Quaternion.Euler(v);
                }
            }
        }
        void OnPinchIn(Gesture gest)
        {
            if (gest.pickedObject != null)
            {
                if (rotateAndEnlargeObj != null)
                {
                    Vector3 localScale = rotateAndEnlargeObj.transform.localScale;
                    float num = (0.01f * gest.deltaPinch);
                    rotateAndEnlargeObj.transform.localScale = new Vector3(localScale.x - num, localScale.y - num, localScale.z - num);
                    if (rotateAndEnlargeObj.transform.localScale.x < 1)
                    {
                        rotateAndEnlargeObj.transform.localScale = new Vector3(1, 1, 1);
                    }
                }
            }
    
        }
        void OnPinchOut(Gesture gest)
        {
            if (gest.pickedObject != null)
            {
    
                if (rotateAndEnlargeObj != null)
                {
                    Vector3 localScale = rotateAndEnlargeObj.transform.localScale;
                    float num = (0.01f * gest.deltaPinch);
                    rotateAndEnlargeObj.transform.localScale = new Vector3(localScale.x + num, localScale.y + num, localScale.z + num);
                    if (rotateAndEnlargeObj.transform.localScale.x > 2)
                    {
                        rotateAndEnlargeObj.transform.localScale = new Vector3(2, 2, 2);
                    }
                }
            }
        }
    }
  • 相关阅读:
    玩转oracle学习第五天
    硅谷科技巨头最刁钻面试题集锦
    Python模拟登录wap版百度贴吧+自己主动回贴
    Flask 源代码阅读笔记
    Spark1.0.0 生态圈一览
    listView.getChildAt(i)时java.lang.NullPointerException
    选择排序
    JNI 系统钩子
    MySQL Cluster2个数据节点压力测试--mysqlslap工具压400W写
    VVDocumenter
  • 原文地址:https://www.cnblogs.com/JimmyCode/p/7834749.html
Copyright © 2011-2022 走看看