unity 手机上获取手指触摸位置_Unity 操作检测的各种实现#2手机端 - 触屏与手势...

写在前面

继续填坑了。这次是讲手机端。

  1. 电脑端 [ 按我跳转 ]
    1. 键盘按键控制 [ 上文内容 ]
    2. 鼠标点击控制 [ 上文内容 ]
  2. 手机端
    1. 触屏控制 [ 本文内容 ]
    2. 手势控制 [ 本文内容 ]
    3. 重力控制 [ 下文内容 ]
    4. 陀螺仪控制 [ 下文内容 ]

本文的限制:接上文,本文主要讲在手机检查操作的方法,至于之后执行的相关命令,读者完全可大开脑洞。如果你有什么好的想法,欢迎告诉我!

正文

1 触屏控制

试想象神庙逃亡这类游戏,你能想到些什么操作方式?通常玩家会使用手指手势来操控游戏。所谓的手势指的是,类似下划,上划一类的操作方式。

检测触屏,需要用到,由MonoBehaviour提供的OnMouseDown()方法。这个方法在电脑和手机端都可以调用。

MonoBehaviour.OnMouseDown()​docs.unity3d.com
703a98fa8d52fa38567a40a772ef979e.png

例子

void OnMouseDown()
{
    Debug.Log("The Button is pressed"+this.name);
}

这个方法可以检测用户对GUI Element (比如GUI Texture)和碰撞体触屏点击。因此通常这个方法不会放进主程序的Update内,这是因为只要我们给点击相关物件的代码加入这个方法,那么当它被触摸时,就会调用OnMouseDown方法。

Unity Remote可以为电脑和手机提供接口,让游戏画面可以通过Unity的play按钮,在手机上同步呈现。读者可自行到goolg play商店下载安装。

然而,假设你为你的一些GUI button加入了这个方法,并做一些输出之后,你会发现一个问题。如果你试着同时按下两个按钮,会发现什么信息也没有出现,或者只出现其中一个按钮被按下的信息。

绝大部分的游戏都需要多点触控,所以上面的方法显然还行不通。

先来了解多点触控的概念。看图

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值