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

简介: 小功能⭐️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;


相关文章
|
16天前
|
Android开发
Android开发表情emoji功能开发
本文介绍了一种在Android应用中实现emoji表情功能的方法,通过将图片与表情字符对应,实现在`TextView`中的正常显示。示例代码展示了如何使用自定义适配器加载emoji表情,并在编辑框中输入或删除表情。项目包含完整的源码结构,可作为开发参考。视频演示和源码详情见文章内链接。
41 4
Android开发表情emoji功能开发
|
22小时前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
Android面试高频知识点(1) 图解 Android 事件分发机制
8 1
|
6天前
|
XML 前端开发 Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
|
13天前
|
Android开发
Android 事件分发机制详细解读
Android 事件分发机制详细解读
24 4
|
2月前
|
定位技术 C# 图形学
从零开始的unity3d入门教程(二)----基本功能讲解
这是一篇Unity3D入门教程,详细介绍了Unity界面操作、游戏物体创建修改、场景搭建、玩家控制、音效添加以及游戏测试和导出的全过程。
从零开始的unity3d入门教程(二)----基本功能讲解
|
2月前
|
编解码 测试技术 Android开发
Android经典实战之用 CameraX 库实现高质量的照片和视频拍摄功能
本文详细介绍了如何利用CameraX库实现高质量的照片及视频拍摄功能,包括添加依赖、初始化、权限请求、配置预览与捕获等关键步骤。此外,还特别针对不同分辨率和帧率的视频拍摄提供了性能优化策略,确保应用既高效又稳定。
191 1
Android经典实战之用 CameraX 库实现高质量的照片和视频拍摄功能
|
1月前
|
Android开发 开发者
Android平台无纸化同屏如何实现实时录像功能
Android平台无纸化同屏,如果需要本地录像的话,实现难度不大,只要复用之前开发的录像模块的就可以,对我们来说,同屏采集这块,只是数据源不同而已,如果是自采集的其他数据,我们一样可以编码录像。
|
2月前
|
图形学 Android开发 iOS开发
穿越数字洪流,揭秘Unity3d中的视频魔法!Windows、Android和iOS如何征服RTSP与RTMP的终极指南!
【8月更文挑战第15天】在数字媒体的海洋中,实时视频流是连接世界的桥梁。对于那些渴望在Unity3d中搭建这座桥梁的开发者来说,本文将揭示如何在Windows、Android和iOS平台上征服RTSP与RTMP的秘密。我们将深入探讨这两种协议的特性,以及在不同平台上实现流畅播放的技巧。无论你是追求稳定性的RTSP拥趸,还是低延迟的RTMP忠实粉丝,这里都有你需要的答案。让我们一起穿越数字洪流,探索Unity3d中视频魔法的世界吧!
58 2
|
2月前
|
图形学
小功能⭐️Unity UnityEvent实现代码的选择
小功能⭐️Unity UnityEvent实现代码的选择
|
2月前
|
机器学习/深度学习 图形学 Windows
小功能⭐️unity3d KeyCode各键值说明
小功能⭐️unity3d KeyCode各键值说明