鼠标控制物体移动
来源:互联网 发布:现货黄金行情软件 编辑:程序博客网 时间:2024/05/22 00:05
using UnityEngine;
using System.Collections;
public class Movecube : MonoBehaviour {
private Vector3 _vec3TargetScreenSpace;// 目标物体的屏幕空间坐标
private Vector3 _vec3TargetWorldSpace;// 目标物体的世界空间坐标
private Transform _trans;// 目标物体的空间变换组件
private Vector3 _vec3MouseScreenSpace;// 鼠标的屏幕空间坐标
private Vector3 _vec3Offset;// 偏移
public onclick click=new onclick ();
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void Awake( ) { _trans = transform; }
IEnumerator OnMouseDown( )
{
// 把目标物体的世界空间坐标转换到它自身的屏幕空间坐标
if(click.bmove==true){
_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 ();
}
}
}
}
using System.Collections;
public class Movecube : MonoBehaviour {
private Vector3 _vec3TargetScreenSpace;// 目标物体的屏幕空间坐标
private Vector3 _vec3TargetWorldSpace;// 目标物体的世界空间坐标
private Transform _trans;// 目标物体的空间变换组件
private Vector3 _vec3MouseScreenSpace;// 鼠标的屏幕空间坐标
private Vector3 _vec3Offset;// 偏移
public onclick click=new onclick ();
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void Awake( ) { _trans = transform; }
IEnumerator OnMouseDown( )
{
// 把目标物体的世界空间坐标转换到它自身的屏幕空间坐标
if(click.bmove==true){
_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 ();
}
}
}
}
0 0
- 鼠标控制物体移动
- 鼠标利用射线控制物体移动
- 物体移动--通过改变transform--鼠标控制
- Unity用鼠标控制物体移动
- OpenGL实现的鼠标控制三维空间物体的移动
- unity3D中使用鼠标控制物体移动的方法
- UI界面基础如何用鼠标控制物体移动
- Unity学习2 鼠标点击控制物体移动
- 鼠标控制摄像机旋转,平移,物体的移动
- Unity鼠标控制物体360°旋转和点击移动
- Unity3D控制物体移动
- fg控制物体移动
- unity让物体鼠标平滑移动物体
- 游戏物体跟随鼠标移动
- unity3d鼠标移动、旋转物体
- unity 鼠标拖动物体移动
- Unity3d 物体跟随鼠标移动
- U3D实现鼠标移动物体
- 基本数据结构概念
- Spring Data JPA Tutorial Part Nine: Conclusions(未翻译)
- 计算机图形学(二)输出图元_14_OpenGL像素阵列函数_3_光栅操作
- 第十三周--交通类纯虚函数
- string与date互转,以及时间比较
- 鼠标控制物体移动
- windows下apache下载安装
- 架构漫谈(七):不要空设架构师这个职位,给他实权
- 利用PPT制作PNG透明图片
- 磁盘调度算法
- SQL Server 查询表的记录数(3种方法,推荐第一种)
- java对数据库中数据表的增删改查(基于MySQL数据库)
- 射线
- Django中嵌入ueditor并改进SyntaxHighlighter