//用于绑定参照物对象
var target : Transform;
//缩放系数
var distance = 10.0;
//左右滑动移动速度
var xSpeed = 250.0;
var ySpeed = 120.0;
//缩放限制系数
var yMinLimit = -20;
var yMaxLimit = 80;
//摄像头的位置
var x = 0.0;
var y = 0.0;
//记录上一次手机触摸位置判断用户是在左放大还是缩小手势
private var oldPosition1 : Vector2;
private var oldPosition2 : Vector2;//初始化游戏信息设置
function Start () {var angles = transform.eulerAngles;x = angles.y;y = angles.x;// Make the rigid body not change rotationif (rigidbody)rigidbody.freezeRotation = true;
}function Update ()
{//判断触摸数量为单点触摸if(Input.touchCount == 1){//触摸类型为移动触摸if(Input.GetTouch(0).phase==TouchPhase.Moved){//根据触摸点计算X与Y位置x += Input.GetAxis("Mouse X") * xSpeed * 0.02;y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;}}//判断触摸数量为多点触摸if(Input.touchCount >1 ){//前两只手指触摸类型都为移动触摸if(Input.GetTouch(0).phase==TouchPhase.Moved¦¦Input.GetTouch(1).phase==TouchPhase.Moved){//计算出当前两点触摸点的位置var tempPosition1 = Input.GetTouch(0).position;var tempPosition2 = Input.GetTouch(1).position;//函数返回真为放大,返回假为缩小if(isEnlarge(oldPosition1,oldPosition2,tempPosition1,tempPosition2)){//放大系数超过3以后不允许继续放大//这里的数据是根据我项目中的模型而调节的,大家可以自己任意修改if(distance > 3){distance -= 0.5;}}else{//缩小洗漱返回18.5后不允许继续缩小//这里的数据是根据我项目中的模型而调节的,大家可以自己任意修改if(distance < 18.5){distance += 0.5;}}//备份上一次触摸点的位置,用于对比oldPosition1=tempPosition1;oldPosition2=tempPosition2;}}
}//函数返回真为放大,返回假为缩小
function isEnlarge(oP1 : Vector2,oP2 : Vector2,nP1 : Vector2,nP2 : Vector2) : boolean
{//函数传入上一次触摸两点的位置与本次触摸两点的位置计算出用户的手势var leng1 =Mathf.Sqrt((oP1.x-oP2.x)*(oP1.x-oP2.x)+(oP1.y-oP2.y)*(oP1.y-oP2.y));var leng2 =Mathf.Sqrt((nP1.x-nP2.x)*(nP1.x-nP2.x)+(nP1.y-nP2.y)*(nP1.y-nP2.y));if(leng1<leng2){//放大手势return true;}else{//缩小手势return false;}
}//Update方法一旦调用结束以后进入这里算出重置摄像机的位置
function LateUpdate () {//target为我们绑定的箱子变量,缩放旋转的参照物if (target) {     //重置摄像机的位置y = ClampAngle(y, yMinLimit, yMaxLimit);var rotation = Quaternion.Euler(y, x, 0);var position = rotation * Vector3(0.0, 0.0, -distance) + target.position;transform.rotation = rotation;transform.position = position;}
}static function ClampAngle (angle : float, min : float, max : float) {if (angle < -360)angle += 360;if (angle > 360)angle -= 360;return Mathf.Clamp (angle, min, max);
}

unity 多点触控相关推荐

  1. Unity中单点和多点触控

    Input.touchCount获取当前的触摸点数目,若为1则是单点触控,大于1则是多点触控 点击事件用:Input.GetTouch(num).phase== TouchPhase.Began这样的 ...

  2. Unity TouchScript插件+G4 雷达+使用淘宝买的雷达信心采集模拟点击软件 实现多点触控操作

    使用心得 总体开发下来 你只需要关心功能的实现 多点触摸模拟软件会处理好 模拟软件的设置 这些卖软件的商家会教你怎么设置 先调整好 模拟软件和雷达的触摸范围和触发方式 设置启用TUIO数据发送 Uni ...

  3. Unity 之大屏幕多点触控插件 TouchScript 9.0 入门指南

    在端游上大家应该多数都使用过的EasyTouch插件,在EasyTouch 5.0.17 最新版本扩展方法中我有过简单的介绍,今天说一下另一款触摸插件,它非常适合做展示类大屏幕的多点触控TouchSc ...

  4. Unity 之大屏幕多点触控插件 TouchScript 9.0 入门指南(上)

    在端游上大家应该多数都使用过的EasyTouch插件,在EasyTouch 5.0.17 最新版本扩展方法中我有过简单的介绍,今天说一下另一款触摸插件,它非常适合做展示类大屏幕的多点触控TouchSc ...

  5. Linux的触屏手势软件安装,如何添加Mac的多点触控手势到Ubuntu | MOS86

    虽然Mac操作系统有很多故障,易于使用是苹果在其他地方超越的主要地方.在Mac笔记本电脑上,由于macOS如何实现触摸板手势,因此用户可以期待出色的令人印象深刻的触摸板体验. On默认情况下Ubunt ...

  6. linux驱动--多点触控协议(multi-touch-protocol)

    Multi-touch-protocol Linux内核文档multi-touch-protocol.rst Introduction为了充分利用新的多点触控和多用户设备的全部功能, 需要一种报告来自 ...

  7. android怎么监听多点触摸_什么是多点触控技术,有哪些用途

    自从乔布斯将触控技术用于苹果手机上,很多的手机厂商纷纷效仿,触控技术几乎成为手机的"标配".其实,触控技术早就存在,只是一直未能大面积用于各种设备中,本文将带您认识神奇的触控技术. ...

  8. Android 多点触控 MotionEvent详解

    相关API 介绍 MotionEvent.getY() 和 MotionEvent.getRawY() 的区别 getY 表示触摸事件在当前的View内的Y 坐标, getRawY表示触摸事件在整个屏 ...

  9. 【Android 应用开发】多点触控 ( 多点触控事件 | PointerId | PointerIndex | 坐标获取 | 触摸点个数 )

    文章目录 I . 多点触控事件 II . PointerId 与 PointerIndex 简介 III . 本次 PointerId 与 PointerIndex 获取 IV . PointerId ...

最新文章

  1. 双摄就能拍银河拍月亮,还有皮卡丘教你手势识别,这是Pixel 4和谷歌的一箩筐新硬件...
  2. 034_CSS绝对定位
  3. 138 条 Vim 命令、操作、快捷键全集
  4. SpringBoot同时集成Redis和Guava作为缓存组件--进一步分析代码
  5. h5移动端设备像素比dpr介绍
  6. linux centos7.2 nodeJs全局安装
  7. 配置linux系统自带apache+php+mysql
  8. volatile的正确使用姿势
  9. django pdf转html5,python – 在Django站点中将HTML转换为PDF
  10. 了解单片机解密的一些知识
  11. pcshare完美版
  12. 《点满舔狗相关技能以后,不知为何就转码了》之YOLOP,YOLOPV2推理入门教学
  13. mongodb关联表查询
  14. androidentity什么用_Android ORM 框架:GreenDao 使用详解(进阶篇)
  15. 「File」计算机常见文件数据格式
  16. 51la图片做网店流量统计
  17. 单片机无线调频发射器的设计
  18. Python小游戏 猜数字——非常有趣的小游戏
  19. 深入理解Linux多线程
  20. Linux下查看icc安装目录,linux icc 安装

热门文章

  1. CoBOT Java安全漏洞检测类型与OWASP TOP 10对应关系
  2. 深度学习相关基础理论
  3. 题目 1180: 不容易系列
  4. C语言作用域与生存期
  5. 笔记-EXCEL 周报制作
  6. sysvol 域控制器 文件_重建域控SYSVOL和NETLOGON共享
  7. micropython-SPI通讯
  8. latex大括号 多行公式_问题百出的MathType公式编辑器,会有替代品吗?
  9. 计算机ms高级应用科目一 科目二考什么,什么是科目一、科目二、科目三、科目四?全部都在这!...
  10. python制作数据增长动图_请问一下这种数据动图是如何做出来的?