码迷,mamicode.com
首页 > 其他好文 > 详细

【转】unity3d input输入

时间:2014-07-16 23:21:18      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:android   style   使用   strong   os   io   

 

Input 输入

 

按键

Input.GetKey(“up”) = Input.GetKey(KeyCode.UpArrow) 按住键盘上键

Input.GetKeyDown (“up”) 按下键盘上键

Input.GetKeyUp (“up”) 放开键盘上键

 (KeyCode.UpArrow)为键码 

Input.GetButton(“ ”) = Input.GetKey(“ ”) 两种几乎相同(目前没发现差异)

Input.GetButton一样会有分Input.GetButtonDown & Input.GetButtonUp

(“ ”)符号内为按键英文~ 参考Unity→Edit→Project Settings→Input(可新增)

PS : Unity内并没有内建android(返回与选单)功能键设定,必须使用者自行设定,在Inpu.GetButton(“ ”)中”escpae”&”menu”有对应返回与选单键

例: if(Input.GetKeyDown (“escpae”)){ Application.Quit(); } 按下返回就退出

 

滑鼠用

Input.GetMouseButton(0) 当0键被按住持续侦测(包含down和up各一次)

Input.GetMouseButtonDown(0) 当0键被按下一次

Input.GetMouseButtonUp(0) 当0键放开一次

键 : 0=左 1=中 2=右

PS : Unity有对应滑鼠左键输入功能部分可以用在Android手指触碰的操作上

 

获取轴

Input.GetAxis(“ ”) ~ (“ ”)参考Unity→Edit→Project Settings→Input(可新增)

根据座标轴传回虚拟座标值,取得输入装置输入时值范围-1 ~ 1

例: Input.GetAxis(“Mouse x”) ~ 可取得滑鼠横向移动增量

 

Android 常用 Input

 

触碰

Input.touchCount ~ 触碰数量

Input.GetTouch(0) ~ 当第一支手指触碰时

0=第一支1=第二支2=第三支以此类推(触碰到点的侦测数量上限未测不知)

TouchPhase ~ 触碰状态有分五种Began Moved Stationary Ended Canceled

Began按下Moved移动Stationary按住没移动Ended离开

Canceled用于触碰超过5点以上或贴至脸上时取消追踪

Input.GetTouch(0).position 取得第一支手指触碰座标

 

例 :

Touch 单点移动判断式

if(Input.touchCount == 1 && Input.GetTouch(0).phase==TouchPhase.Moved){执行}

(触碰数量为1个) 和(第一支手指触碰时的状态为移动) 时{执行}

 

Touch 双点移动判断式

if(Input.touchCount >1){

 if(Input.GetTouch(0).phase==TouchPhase.Moved || Input.GetTouch(1).phase==TouchPhase.Moved){ 执行}}

(触碰数量超过1个) 和

 (第一支手指触碰时的状态为移动)或着(第二支手指触碰时的状态为移动) 时{执行}

 

Input.GetTouch(0) 和 Input.GetMouseButton(0)

单点时大致上互通(不确定是否完全相同)

多点上就会出现差异Touch会取手指前后顺序Mouse会取中心点

 

【转】unity3d input输入,布布扣,bubuko.com

【转】unity3d input输入

标签:android   style   使用   strong   os   io   

原文地址:http://www.cnblogs.com/zhanlang96/p/3811277.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!