Unity3D研究院之3DTouch

栏目: 编程语言 · 发布时间: 7年前

内容简介:最近把3DTouch功能加入到游戏中了,调研了一下,其实挺方便了。代码很简单,如下代码所示,判断当前手机是被是否支持3DTouch ,在Update中获取压力的大小,接着就能做逻辑了。Android应该有些手机也支持3DTouch功能。

最近把3DTouch功能加入到游戏中了,调研了一下,其实挺方便了。

代码很简单,如下代码所示,判断当前手机是被是否支持3DTouch ,在Update中获取压力的大小,接着就能做逻辑了。

 //压力的取值在0F-6.xF之间,我们测试4F是个不错的力度
 const float PRESSURE_MAX = 4F;
 void Update () 
 {
 if (Input.touchPressureSupported) {
 if (Input.touchCount > 0) {
 Touch touch = Input.GetTouch (0);
 if (touch.pressure >= PRESSURE_MAX) {
 //触发3dtouch
 } 
 }
 }
 #if UNITY_EDITOR
 //editor下用鼠标右键来模拟
 if (Input.GetMouseButtonDown (1)) {
 } else if (Input.GetMouseButtonUp (1)) {
 } else if (Input.GetMouseButton (1)) {
 }
 #endif
 }

Android应该有些手机也支持3DTouch功能。

唯一需要注意的是,当触发3DTouch的时候希望有一个震动的反馈,Unity提供了一个震动的方法 Handheld.Vibrate(); 但是震动的效果不好,因为它是长震动,3DTouch震动应该是短震动。所以这时候播放短震需要调用到oc的代码去播放短震动。

#import <AudioToolbox/AudioServices.h> 
AudioServicesPlaySystemSound(1520);

OK 这就完美了。

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

最后编辑:

作者:雨松MOMO

专注移动互联网,Unity3D游戏开发

站内专栏 QQ交谈 腾讯微博 新浪微博

捐 赠 如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。


以上所述就是小编给大家介绍的《Unity3D研究院之3DTouch》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人月神话

人月神话

弗雷德里克.布鲁克斯 / UMLChina翻译组、汪颖 / 清华大学出版社 / 2007-9 / 48.00元

在软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球......一起来看看 《人月神话》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具