学习啦>学习电脑>电脑硬件知识>键盘鼠标>

unity3d实现鼠标拖拽旋转

时间: 沈迪豪908 分享

  怎么实现unity3d 鼠标拖拽旋转,滚轮缩放的功能呢?下面是学习啦小编收集整理关于unity3d 鼠标拖拽旋转,滚轮缩放的功能的资料以供大家参考学习,希望大家喜欢。

  unity3d 鼠标拖拽旋转,滚轮缩放的功能的详细代码

  var target : Transform;

  var xSpeed = 250.0;

  var ySpeed = 120.0;

  var yMinLimit = -20;

  var yMaxLimit = 80;

  var initDis = 20;

  var minDis = 3.0;

  var maxDis = 50.0;

  var wheelSpeed = 5;

  static var x = 0.0;

  static var y = 0.0;

  static var distance;

  private var position;

  private var rotation;

  function Start () {

  x = 130;

  y = 30;

  transform.rotation = Quaternion.Euler(y, x, 0);;

  transform.position = Quaternion.Euler(y, x, 0) * Vector3(0.0, 0.0, -initDis) + target.position;

  // Make the rigid body not change rotation

  if (rigidbody)

  rigidbody.freezeRotation = true;

  }

  function Update () {

  if (target) {

  distance = Vector3.Distance(target.position,transform.position);

  if(Input.GetMouseButton(1)){

  x += Input.GetAxis("Mouse X") * xSpeed * 0.02;

  y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;

  y = ClampAngle(y, yMinLimit, yMaxLimit);

  }

  distance-= Input.GetAxis("Mouse ScrollWheel")*wheelSpeed;//获取鼠标中建响应

  distance = Mathf.Clamp(distance,minDis,maxDis);//距离取最大值和最小值

  rotation = Quaternion.Euler(y, x, 0);

  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);

  }

鼠标拖拽相关文章:

1.Win7鼠标拖拽操作是什么

2.电脑鼠标不能拖拽怎么办

3.360浏览器怎么选择鼠标拖放的搜索引擎

4.电脑鼠标拖动不连贯怎么办

5.jst实现鼠标拖动选择功能

6.笔记本触摸鼠标怎么拖动

7.鼠标不能上下拖动怎么解决

1998195