Unity Android设备的输入

Unity Android设备的输入

1依据屏幕位置输入

有的时候也许是为了整个有些风格的干净,减少屏幕上的UI图标,以至于摒弃了虚拟按键这种常用的输入方式。为了替代虚拟按键的输入方式而选择了依据点击事件发生在屏幕中的位置而控制对象的移动等。比如将整个手机屏幕划分为左右两个区域,左边区域负责移动控制,右边区域负责技能释放。

这里我们需要处理的问题分别是点击事件的获取及屏幕信息的获取,下面这两个方面的API文档。

点击事件:http://wiki.ceeger.com/script/unityengine/classes/touch/touch

屏幕信息:http://wiki.ceeger.com/script/unityengine/classes/screen/screen

 1 void Update () {
 2
 3         if (Input.touchCount > 0)//判断是否有触摸信息
 4         {
 5             for (int i = 0; i < Input.touchCount; i++)
 6             {
 7                 Touch touch = Input.touches[i];//将触摸信息传递给touch
 8
 9                 if (touch.phase == TouchPhase.Stationary || touch.phase == TouchPhase.Moved)//touch.phase是触摸的相位信息,通过TouchPhase枚举中来确定当前的状态,Began:一个手指开始接触;Moved:一个手指发生了移动;Stationary:一个手指接触了屏幕但是没有发生移动;Ended:一个手指离开屏幕,也是最后的状态;Cnaceled:系统取消对触摸监听,如用户把屏幕放到他脸上或超过五个接触同时发生。
10                 {
11                     touchPosition = touch.position;//获取触摸的位置信息,该坐标与屏幕坐标一致。
12                     if (touchPosition.x < screenWidth/4)//screenWidth在Start中已经赋值=>screenWidth = Screen.width;
13                     {
14                         SomeMethod1();//某方法1
15                         beeTransform.Translate(new Vector3(-MoveSpeed, -DownSpeed, 0),Space.World);    //beeTransform是游戏对象的位置信息,已在Start中赋值
16                     }
17                     else if (touchPosition.x>=screenWidth/4&& touchPosition.x <screenWidth / 2)
18                     {
19                        SomeMethod1();
20                         beeTransform.Translate(new Vector3(MoveSpeed, -DownSpeed, 0), Space.World);
21
22                     }
23                 }
24                 else if (touch.phase == TouchPhase.Ended)
25                    SomeMethod2();//某方法
26             }
27         }
28
29         if (Input.touchCount == 0)//未触摸时
30            SomeMethod2();
31     }
时间: 2024-08-06 11:52:49

Unity Android设备的输入的相关文章

Android设备连接Unity Profiler性能分析器

Unity提供两种方式让Developer的Android设备连接Profiler进行性能分析: 1.通过wifi,Android设备和计算机处于同一个Wlan中. 2.通过USB ADB 一般情况我们的计算机都是网线,所以我们采用ADB的方式.相比与wifi,ADB也更及时的反应设备性能. 官方的英文文档如下: http://docs.unity3d.com/Manual/Profiler.html For ADB profiling, follow these steps: Attach y

Android设备网络、屏幕尺寸、SD卡、本地IP、存储空间等信息获取工具类

Android设备网络.屏幕尺寸.SD卡.本地IP.存储空间.服务.进程.应用包名等信息获取的整合工具类. 1 package com.qiyu.ddb.util; 2 3 import android.annotation.SuppressLint; 4 import android.annotation.TargetApi; 5 import android.app.Activity; 6 import android.app.ActivityManager; 7 import androi

Android设备怎么获取扫码枪扫描内容

1. 蓝牙配对,连接设备 打开系统设置,找到蓝牙,打开扫码枪,配对扫码枪设备.输入一个固定的配对码,一般扫码枪说明书里都有写.配对完成后,显示设备已连接.就ok. 2.AndroidManifest中配置权限 android项目中的AndroidManifest.xml文件添加蓝牙权限. <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:na

如何获得Android设备名称(ADB命令详细介绍)

豌豆荚.360手机管家等软件可以获取Android设备名称,显示在界面上,如下图: 我们自己如何来获取设备名称 呢?答案如下: 在命令行中输入"adb shell"进入shell之后,再输入"cat /system/build.prop"其实,设备信息,主要是存放在"/system/build.prop"文件,通过"cat"命令就可以查看了. 下面附上ADB命令的详细介绍 adb 介绍 adb的全称为Android Debug

如何通过Chrome远程调试android设备上的Web网站

网上的帖子很多,但很多都是老版本的,试过了,根本不管用,花了一天时间,终于在本机试验通过了,特记录下来,以备用.有需要的朋友也可以参考.先上一张图,看看PC端chrome上调试的效果: 左边是手机的模拟操作器,右边是大家熟悉的开发人员工具,也可以在手机上操作,PC端左边屏幕会同步到手机上的界面. 下面再说一下环境配置: 1.手机端,我手机是华为荣耀4,android4.4.4,很旧的手机了,大家别笑话,但不影响本次试验.安装chrome版本为58.0.3029.83: 2.PC端,win7 64

【转】ubuntu连接android设备(附最简单方法)

原文网址:http://blog.csdn.net/maosidiaoxian/article/details/22661725 在ubuntu下连接android设备,虽然不用像windows那样安装驱动,然而却会遇见一个错误:输入adb shell,会提示insufficient permissions for device,输入adb devices,设备名称会显示 ????????等一大堆问号. 这是因为ubuntu默认是以非root用户运行的.如果要使用adb 进行usb调试,使用ro

可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本

如果PC上连接多部Android设备(包括Android模拟器),在进入Console时还需要使用adb -s deviceid shell.比较麻烦,本文为此编写了一个Shell脚本文件(需要在Linux或OS X下才能使用,windows下需要用bat或cmd从新编写).      基本思路时先用adb devices命令扫描有多少Android设备连接到PC上,然后从返回值中截取设备名称,并显示一个菜单.最后用户可以选择菜单项前面的序号进入指定的Android设备.无需再输入devicei

(转)在ios android设备上使用 Protobuf (使用dll方式)

自:http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://game.ceeger.com/forum/read.php?tid=14359&fid=27 如果只能以.Net 2.0下运行,就可以继续往下看了. ============================================================= protobuf是go

在android设备上调试ionic应用

方法1: ionic run android -l -c 将会在console中输出日志信息 方法2: (1).使用usb连接android设备,并打开android设备的调试功能 (2).在chrome浏览器的地址栏中输入 chrome://inspect/#devices,此时会在浏览器中看到连接的设备 (3).点击chrome页面上的inspect按钮,将会弹出开发者模式窗口,可以看到应用程序的日志信息. 如图: