博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
鼠标顺时针旋转、逆时针旋转
阅读量:5880 次
发布时间:2019-06-19

本文共 1710 字,大约阅读时间需要 5 分钟。

1 using UnityEngine; 2 using System.Collections; 3  4 public class ShouShi : MonoBehaviour 5 { 6     public Transform centerTra;//围绕旋转的中心 7     public Transform targetTra;//移动目标 8     private Vector2 oldPos;//上一帧位置 9     private float angular;10     private float speed = 0.1f;//升降速度11     void Update()12     {13         if (Input.GetMouseButtonDown(0))14         {15             oldPos = Input.mousePosition;16         }17         18         if (Input.GetMouseButton(0))19         {20             Vector3 point = Camera.main.WorldToScreenPoint(centerTra.position );//中心点转换为屏幕坐标21             angular = SignedAngularGap(new Vector2(point.x, point.y), oldPos, Input.mousePosition);22             print(angular);23             float y = targetTra.position.y;24             y += angular * speed * Time.deltaTime;25             targetTra.position = new Vector3(targetTra.position.x, y, targetTra.position.z);26             oldPos = Input.mousePosition;27         }28     }29 30     public static float SignedAngle(Vector2 from, Vector2 to)31     {32         // perpendicular dot product33         float perpDot = (from.x * to.y) - (from.y * to.x);34         return Mathf.Atan2(perpDot, Vector2.Dot(from, to));35     }36     // return signed angle in degrees between current finger position and ref positions37     static float SignedAngularGap(Vector2 center, Vector2 oldPos, Vector2 newPos)38     {39         Vector2 refDir = (oldPos - center).normalized;40         Vector2 curDir = (newPos - center).normalized;41 42         // check if we went past the minimum rotation amount treshold43         return Mathf.Rad2Deg * SignedAngle(refDir, curDir);44     }45 }

 

转载于:https://www.cnblogs.com/yhx8224/p/5243080.html

你可能感兴趣的文章
MVC输出字符串常用四个方式
查看>>
LeetCode – LRU Cache (Java)
查看>>
JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)...
查看>>
【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2
查看>>
在 ASP.NET MVC 中使用异步控制器
查看>>
SQL语句的执行过程
查看>>
Silverlight开发历程—动画(线性动画)
查看>>
详解Linux中Load average负载
查看>>
HTTP 协议 Cache-Control 头——性能啊~~~
查看>>
PHP遍历文件夹及子文件夹所有文件
查看>>
WinForm程序中两份mdf文件问题的解决
查看>>
程序计数器、反汇编工具
查看>>
Android N: jack server failed
查看>>
如何将lotus 通讯簿导入到outlook 2003中
查看>>
WinForm 应用程序中开启新的进程及控制
查看>>
js replace,正则截取字符串内容
查看>>
Thinkphp5笔记三:创建基类
查看>>
查询反模式 - GroupBy、HAVING的理解
查看>>
Android中EditText,Button等控件的设置
查看>>
TextKit简单示例
查看>>