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


相关文章
|
3月前
|
C# 图形学 开发者
【Unity3D实例-功能-镜头】俯视角
本文介绍了Unity中常用的俯视角镜头实现方法,涵盖模型添加、角色Tag设置、摄像机脚本编写及测试运行,帮助开发者快速掌握俯视角在策略与模拟类游戏中的应用技巧。
314 0
|
3月前
|
人工智能 定位技术 C#
【Unity3D实例-功能-移动】通过鼠标点击进行角色移动
本文介绍了如何在Unity中实现鼠标点击控制角色移动的功能。通过安装导航网格、设置地图与角色、烘焙路径及编写脚本,带领读者一步步构建角色自动寻路系统,增强游戏交互体验。
198 0
|
4月前
|
C# 图形学 开发者
【Unity3D实例-功能-移动】复杂移动(Blend Tree方式)
本文介绍了使用Unity中Blend Tree实现角色移动控制的完整教程,涵盖动画器设置、Blend Tree创建、CharacterController组件添加及代码控制,帮助开发者实现流畅自然的角色动画效果。
134 0
|
4月前
|
图形学 开发者
【Unity3D实例-功能-移动】角色移动-通过WSAD(CharacterController方式)
本文介绍了如何在Unity中使用CharacterController组件实现角色灵活移动。内容包括模型准备、动画处理、添加组件、编写移动脚本及测试运行,帮助开发者快速掌握角色控制技巧,打造流畅的游戏体验。
222 0
|
4月前
|
C# 图形学 开发者
【Unity3D实例-功能-移动】角色移动-通过WSAD(Rigidbody方式)
本文介绍了如何在Unity中使用Rigidbody组件实现角色自由移动,包括模型准备、组件添加、脚本编写与测试运行,帮助开发者快速掌握基础角色控制技巧。
233 0
|
4月前
|
C# 图形学
【Unity3D实例-功能-移动】角色移动-通过WSAD(Transform方式)
本文介绍了如何在Unity中实现角色移动功能,使用Transform组件控制角色基础移动,并详细讲解了模型导入、动画设置、动画控制器配置及移动脚本编写等内容,适合Unity初学者学习角色控制的基础知识。
181 0
|
7月前
|
NoSQL 应用服务中间件 PHP
布谷一对一直播源码android版环境配置流程及功能明细
部署需基于 CentOS 7.9 系统,硬盘不低于 40G,使用宝塔面板安装环境,包括 PHP 7.3(含 Redis、Fileinfo 扩展)、Nginx、MySQL 5.6、Redis 和最新 Composer。Swoole 扩展需按步骤配置。2021.08.05 后部署需将站点目录设为 public 并用 ThinkPHP 伪静态。开发环境建议 Windows 操作系统与最新 Android Studio,基础配置涉及 APP 名称修改、接口域名更换、包名调整及第三方登录分享(如 QQ、微信)的配置,同时需完成阿里云与腾讯云相关设置。
|
9月前
|
存储 API 图形学
Unity 给Animator动画添加事件(动态的)
在 Unity 中,通过动画事件系统可在动画播放的特定时间点触发自定义函数。动态添加事件的步骤包括获取 `AnimationClip` 对象,创建并添加 `AnimationEvent`,最后调用 `Rebind()` 更新动画控制器。示例代码展示了如何在动画开始、中间和结束时触发事件,实现与游戏逻辑的交互。
|
9月前
|
图形学 UED
unity Tab键实现切换输入框功能
该脚本用于简化输入框之间的Tab键切换操作。只需将脚本挂载在InputField上,无需其他设置。脚本通过监听Tab键和Shift键组合,自动选择下一个或上一个可交互的InputField,提升用户体验。
|
Android开发
Android开发表情emoji功能开发
本文介绍了一种在Android应用中实现emoji表情功能的方法,通过将图片与表情字符对应,实现在`TextView`中的正常显示。示例代码展示了如何使用自定义适配器加载emoji表情,并在编辑框中输入或删除表情。项目包含完整的源码结构,可作为开发参考。视频演示和源码详情见文章内链接。
308 4
Android开发表情emoji功能开发

热门文章

最新文章