分类:Unity、C#、VS2015

创建日期:2016-04-21

一、简介

在iOS和Android系统中,操作都是通过触摸来完成的。Input类中对触摸操作的方法或变量如下图所示:

通过GetTouch或者touches可以访问移动没备的触摸数据,数据保存在Touch的结构体中。下图是Touch的结构体变量:


二、基本用法示例

1、示例1(遍历所有Touch并输出Touch的信息)

void OnGUI()

{

//遍历所有Touch

foreach(Touch touch in Input.touches)

{

//输出Touch信息

GUILayout.Label(string.Format("手指:{0} 状态:{1} 位置:{2}",touch.fingerId,touch.phase.ToString(),touch.position));

}

}

2、示例2(Demo5_2_MobileExample.unity)

该例子演示如何打印当前触摸屏幕的手指数量。

下面是MobileExample.cs文件中的代码:

  1. using UnityEngine;
  2. using System.Collections;
  3. public class MobileExample : MonoBehaviour
  4. {
  5. //定义手指在触摸屏上的数量
  6. public int fingerCount = 0;
  7.  
  8. void Update()
  9. {
  10. foreach (var touch in Input.touches)
  11. {
  12. if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
  13. fingerCount++;
  14. }
  15. if (fingerCount > 0)
  16. print("用户有 " + fingerCount + " 手指触摸了屏幕");
  17.  
  18. }
  19.  
  20. void OnGUI()
  21. {
  22. //输出手指在触摸屏上的数量至界面中
  23. GUILayout.Label("手指数量:" + fingerCount);
  24. }
  25. }

运行预览效果:

3、示例3(Demo5_3_MobileMoveExample.unity)

该例子演示如何根据手指在屏幕上的滑动来移动物体。

MobileMoveExample.cs文件的代码如下:

  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class MobileMoveExample : MonoBehaviour
  5. {
  6. public float speed = 0.1f;
  7. void Update()
  8. {
  9. if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
  10. {
  11. // 得到手指在这一帧的移动距离
  12. Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
  13. // 在XY平面上移动物体
  14. transform.Translate(-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0);
  15. }
  16. }
  17. }

运行预览效果和示例2的截图相同。

【Unity】7.5 移动设备输入的更多相关文章

  1. 在Unity中用UGUI制作可输入下拉框

    Unity中UGUI制作可输入下拉框 目录 Unity中UGUI制作可输入下拉框 前言 组件分析 制作流程 总结 前言 在搜索引擎以及一些网页中我们常常可以看见这样一种UI控件,看上去是一个输入框,在 ...

  2. 【Unity】7.6 自定义输入

    分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 在Unity中可以创建自定义的虚拟按键,然后将设备的输入映射到自定义的按键上.使用虚拟按键的好处是可以让游戏玩家自己定义 ...

  3. 【Unity】第7章 输入控制

    分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 Unity提供了-个非常易用和强大的用于处理输入信息的类:Input,利用该类可以处理鼠标.键盘.摇杆/方向盘/手柄等游 ...

  4. HoloLens开发手记 - Unity之Keyboard input 键盘输入

    虽然HoloLens支持很多种输入方式,包括蓝牙键盘在内.但是大部分应用还是不能断定用户有物理键盘可以输入,所以虚拟键盘输入还是必须要提供的. Unity提供了一个TouchScreenKeyboar ...

  5. 【Unity】7.3 键盘输入

    分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 键盘事件也是桌面系统中的基本输入事件.和键盘有关的输入事件有按键按下.按键释放.按键长按,Input类中可以通过下图所示 ...

  6. 【Unity】7.2 鼠标输入

    分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 在桌面系统的游戏中,鼠标输入是最基本的输入方式之一.游戏很多操作都需要鼠标来完成,例如武器的瞄准和开火.菜单的单击.物体 ...

  7. 怎样将游戏从Unity导到iOS设备上

    当我开始开发自己的iOS游戏时,我会考虑的第一件事便是如何将其导出到设备中,如此有效地测试我的游戏.最初,该过程看似很长且复杂,我所遇到的主要问题是,尽管存在许多资源,但是它们并非完全来自同样的地方, ...

  8. unity探索者之获取设备当前电量

    很多入坑了的小伙伴应该都知道,很多时候做移动端项目都会有显示当前电池电量的需求 对于这个功能,在unity中要做的事并不多,核心方法就一个,自己做一个定时器或者直接使用协程间隔调用该方法就好了 pub ...

  9. 移动设备输入Touch类及相关API

    Touch:[结构体]存储移动端手指触摸屏幕的信息.根据触摸信息,可以在移动端实现各种功能. Input.multiTouchEnabled:是否开启触控.true:表示多点触控:false:表示单点 ...

随机推荐

  1. ps 如何制作动态打字图?

      1.情景展示 有几句话,想以打字的形式出现,而不是干巴巴的几个字,如何实现这个有趣的效果呢? 2.解决方案 第一步:录制屏幕:将想展示的文字逐字打出来-->保存: 第二步:将录制的视频使用p ...

  2. ibatis中#和$如何当作字符使用?

      1.情景展示 在plsql中,可以正常执行 但是在ibatis的sqlMap文件中,报错信息如下: 2.原因分析 ibatis中 #.$ 是功能符号,用来取值的,当sql中出现这类字符时便会造成冲 ...

  3. CentOS7 使用ntp设置系统时间,开机自动设置时间,

    首先如果没有安装ntp自己装一下: yum install -y ntp 然后,如果开了防火墙,记得打开自己的123端口,该端口是ntp用来同步时间的 firewall-cmd --zone=publ ...

  4. uml中活动图与流程图的区别

    活动图定义: 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图在本质上是一种流程图. 它是UML中用于对系统动态活动建模的图形,反映 ...

  5. shell脚本把一些请求量非常高的ip给拒绝掉

    需求: 根据web服务器上的访问日志,把一些请求量非常高的ip给拒绝掉!并且每隔半小时把不再发起请求或者请求量很小的ip给解封.   假设:    1. 一分钟内请求量高于100次的IP视为不正常请求 ...

  6. 重装wordpress

    1.删除wordpress: https://blog.csdn.net/yeqinghanwu/article/details/77916912 2.uninstall lnmp 3.安装lnmp ...

  7. iOS开发调试Reveal使用

    推荐通过Xcode中加断点的方式集成Reveal(小缺陷,当你禁用断点时或者不用Xcode而用Appcode开发时,这个方式是不管用). 打开您的iOS工程,选择 View → Navigators ...

  8. 蓝牙进阶之路 (001) - HC-05蓝牙无线模块设置

    USB转串口的有线转接方式,实在太难看了,尤其是寻接头,那是相当的不方便.其它电器厂商都想把是接头做小,做精致,唯独串口接头还是那么庞大,感觉应该换一换了,都已经完全不符合这个时代的审美观了. 于是, ...

  9. Linux(Ubuntu12.04)上玩儿STC单片机(转)

    操作系统:Ubuntu16.04 TLS 单片机:STC的STC89C52RC系列及 Atmel的AT89S52... 所需工具: 1.编辑器- Vim(不钟情于IDE,个人喜好,高手勿喷) 2.编译 ...

  10. 【SqlServer】T-SQL的简介及基本用法

    一.T-SQL概述 SQL Server用于操作数据库的编程语言为Transaction-SQL,简称T-SQL.T-SQL与PL/SQL不同,并没有固定的程序结构.T-SQL包括以下4个部分: DD ...