小功能⭐️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 Button按钮实现鼠标移入移出触发相应事件