小功能⭐️Unity调用Android常用事件

Posted 小星河丨U3D开发支持

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小功能⭐️Unity调用Android常用事件相关的知识,希望对你有一定的参考价值。

文章目录


using UnityEngine;
 
public class androidTouch : MonoBehaviour

    private void Update()
    
        #region 手指按下、手指移动、手指松开
        //手指按下
        if (Input.touchCount == 1)
        
            if (Input.touches[0].phase == TouchPhase.Began)
            
                // 手指按下时,要触发的代码
            
        
 
 
        //手指在屏幕上滑动
        if (Input.touchCount == 1)
        
            if (Input.touches[0].phase == TouchPhase.Moved)
            
                // 手指滑动时,要触发的代码 
                float s01 = Input.GetAxis("Mouse X");    //手指水平移动的距离
                float s02 = Input.GetAxis("Mouse Y");    //手指垂直移动的距离
            
        
 
        //手指在屏幕上松开时   下面两个判断只能写一个,否则按下后会不停执行其中内容
        if (Input.touches[0].phase == TouchPhase.Ended || Input.touches[0].phase != TouchPhase.Canceled)
        
 
        
        #endregion
 
 
        #region 多手指触发事件
        if (Input.touchCount == 2)   //代表有两个手指
        
            //  第一个手指                                     第二个手指
            if (Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved)
            
                Vector3 s1 = Input.GetTouch(0).position;         //第一个手指屏幕坐标
                Vector3 s2 = Input.GetTouch(1).position;         //第二个手指屏幕坐标
 
                float olddis = 0;
                float newdis = Vector2.Distance(s1, s2);
                if (newdis > olddis)             //手势外拉
                
 
                
                if (newdis < olddis)            //手勢內拉
                
 
                
                olddis = newdis;
            
        
        #endregion
    
//总结:
//1.不管是触屏事件还是PC端的事件,世界转屏幕还是屏幕转世界以及射线检测都是管用的
//2.安卓端的手指坐标(Input.touches[0].position)等同于PC端的鼠标屏幕坐标(Input.mousePosition)

// 手指刚触摸到屏幕的时候
Input.GetTouch(0).phase  == TouchPhase.Began;
 
// 手指在屏幕上移动
Input.GetTouch(0).phase  == TouchPhase.Moved;
 
// 手指触摸屏幕,但并未移动
Input.GetTouch(0).phase  == TouchPhase.Stationary;
 
// 手指从屏幕上移开,这是一个触控的最后状态
Input.GetTouch(0).phase  == TouchPhase.Ended;
 
// 系统取消追踪触控。这常发生在用户把屏幕放到脸上或者同时触控超过了5根手指,同样也是触控的最后一个状态
Input.GetTouch(0).phase  == TouchPhase.Canceled;





大家还有什么问题,欢迎在下方留言!



如果你有 技术的问题 项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡

以上是关于小功能⭐️Unity调用Android常用事件的主要内容,如果未能解决你的问题,请参考以下文章

小功能⭐️Unity快捷键路径及常用特性

小功能⭐️Unity委托事件

小功能⭐️Unity Button按钮实现鼠标移入移出触发相应事件

小功能⭐️Unity Button按钮实现鼠标移入移出触发相应事件

小功能⭐️Unity UnityEvent实现代码的选择

小功能⭐️Unity UnityEvent实现代码的选择