美文网首页
鼠标拖动物体

鼠标拖动物体

作者: 夜照天星 | 来源:发表于2017-11-22 14:36 被阅读0次

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class movetrail : MonoBehaviour {

private Vector3 _vec3TargetScreenSpace;// 目标物体的屏幕空间坐标  

private Vector3 _vec3TargetWorldSpace;// 目标物体的世界空间坐标  

private Transform _trans;// 目标物体的空间变换组件  

private Vector3 _vec3MouseScreenSpace;// 鼠标的屏幕空间坐标  

private Vector3 _vec3Offset;// 偏移 

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}

void Awake( ) { _trans = transform; }   

IEnumerator OnMouseDown( )   

{   

// 把目标物体的世界空间坐标转换到它自身的屏幕空间坐标   

_vec3TargetScreenSpace = Camera.main.WorldToScreenPoint(_trans.position);  

// 存储鼠标的屏幕空间坐标(Z值使用目标物体的屏幕空间坐标)   

_vec3MouseScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, _vec3TargetScreenSpace.z);  

// 计算目标物体与鼠标物体在世界空间中的偏移量   

_vec3Offset = _trans.position - Camera.main.ScreenToWorldPoint(_vec3MouseScreenSpace);  

// 鼠标左键按下   

while ( Input.GetMouseButton(0) ) {  

// 存储鼠标的屏幕空间坐标(Z值使用目标物体的屏幕空间坐标)  

_vec3MouseScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, _vec3TargetScreenSpace.z);  

// 把鼠标的屏幕空间坐标转换到世界空间坐标(Z值使用目标物体的屏幕空间坐标),加上偏移量,以此作为目标物体的世界空间坐标  

_vec3TargetWorldSpace = Camera.main.ScreenToWorldPoint(_vec3MouseScreenSpace) + _vec3Offset;                

// 更新目标物体的世界空间坐标   

_trans.position = _vec3TargetWorldSpace;  

// 等待固定更新   

yield return new WaitForFixedUpdate();  

}   

}  

}

相关文章

  • html5

    1、拖拽事件 (1)概念具有拖动物体、投放区两个注意点。 (2)拖动物体事件(关注鼠标动作) ondragstar...

  • 鼠标拖动物体

    using System.Collections; using System.Collections.Generi...

  • Unity物体跟随鼠标拖动

  • 鼠标拖动物体(物体旋转)

    、、、using System.Collections;using System.Collections.Gene...

  • 鼠标拖动物体移动

    简单来说,项目需要用鼠标点击物体然后拖动物体移动。一开始我想到的方法是:把鼠标的屏幕坐标转换为世界坐标,在让物体跟...

  • unity 鼠标拖动物体

    这个直接加到被拖动的对象上即可使用 基于这套理论的unity 开源框架(我在维护,有线上产品) 仓库地址 http...

  • U3d 射线Ray

    现在想要实现这样一个需求:当鼠标放到物体上的时候,让物体的大小发生改变,并且不停的旋转,当鼠标点击进行拖动的时候,...

  • Maya(四) 视图操作

    旋转视图: ALT + 拖动鼠标左键 缩放视图: ALT + 拖动鼠标右键 平移视图: ALT + 拖动鼠标中键 ...

  • 鼠标拖动物体(相机旋转)

    、、、using UnityEngine;using System.Collections;/// /// 挂载...

  • 原生js鼠标拖拽效果

    常用的鼠标事件有onmousedown(鼠标按下)、onmousemove(鼠标拖动)、onmouseup(鼠标弹...

网友评论

      本文标题:鼠标拖动物体

      本文链接:https://www.haomeiwen.com/subject/wgnnvxtx.html