分类: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文件中的代码:

using UnityEngine;
using System.Collections;
public class MobileExample : MonoBehaviour
{
//定义手指在触摸屏上的数量
public int fingerCount = 0; void Update()
{
foreach (var touch in Input.touches)
{
if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled)
fingerCount++;
}
if (fingerCount > 0)
print("用户有 " + fingerCount + " 手指触摸了屏幕"); } void OnGUI()
{
//输出手指在触摸屏上的数量至界面中
GUILayout.Label("手指数量:" + fingerCount);
}
}

运行预览效果:

3、示例3(Demo5_3_MobileMoveExample.unity)

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

MobileMoveExample.cs文件的代码如下:

using UnityEngine;
using System.Collections; public class MobileMoveExample : MonoBehaviour
{
public float speed = 0.1f;
void Update()
{
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
// 得到手指在这一帧的移动距离
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
// 在XY平面上移动物体
transform.Translate(-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0);
}
}
}

运行预览效果和示例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. (二)用控制器controller给模型数据赋初始值

    之前博客,非常easy的就实现了模型数据和页面显示的自己主动绑定.如今我们使用控制器,给模型赋初始值. 假设使用jquery来实现变量赋初值,须要在页面载入完毕后运行$("#target&q ...

  2. Android开发之欢迎界面标准

    import java.util.ArrayList; import android.app.Activity; import android.content.SharedPreferences; i ...

  3. 在Java中使用Kafka

    Producer部分 Producer在实例化后, 对外提供send方法, 用于将数据送到指定的topic和partition; 以及在退出时需要的destroy方法. 接口 KafkaProduce ...

  4. Android游戏开发基本知识

    Android游戏开发 手机游戏被业内人士称为继短信之后的又一座金矿.Android虽然基于Java,但是其虚拟机是基于寄存器的,速度得到了很大的提升,这为Android平台上开发游戏提供了坚强的后盾 ...

  5. 【JS】移动端 好用的分享插件 soshm.js

    参考链接:https://www.cnblogs.com/milo-wjh/p/6796082.html 对于qq内置浏览器分享功能处理:https://www.cnblogs.com/xuzheng ...

  6. MATLAB 向量

    MATLAB 向量: 1.MATLAB 行向量: 创建行向量括在方括号中的元素的集合,用空格或逗号分隔的元素. 2.MATLAB 列向量: 创建列向量括在方括号中的元素的集合,使用分号来分隔的元素. ...

  7. 【LeetCode】230. Kth Smallest Element in a BST (2 solutions)

    Kth Smallest Element in a BST Given a binary search tree, write a function kthSmallest to find the k ...

  8. SaltStack 入门到精通第三篇:Salt-Minion配置文件详解

    SaltStack 入门到精通第三篇:Salt-Minion配置文件详解 作者:ArlenJ  发布日期:2014-06-09 17:52:16   ##### 主要配置设置 ##### 配置 默认值 ...

  9. hadoop资料

    1."Hadoop.Operations.pdf.zip" http://vdisk.weibo.com/s/vDOQs6xMAQH6 2."Hadoop权威指南(中文版 ...

  10. 【java】详解集合

    目录结构: contents structure [-] 集合概述 什么是集合 Collection和Map的区别 List和Set的区别 ArrayList和LinkedList的区别 HashSe ...