Unity3D鼠标拖拽物体贴地面移动代码_第1页
Unity3D鼠标拖拽物体贴地面移动代码_第2页
Unity3D鼠标拖拽物体贴地面移动代码_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网上的很多 Unity3D 鼠标拖拽范例都是 2D 移动的,我 来贴个在 3D 空间中拖动物体沿地面移动的代码吧,希望大 家能用上 如果完全不懂脚本这块,可以看我下边的Tips,有详细的使用步骤。因为只学了一个月的C#,编程水平很低,各位大神见笑了using UnityEngine;using System.Collections;public class mouseDrag :MonoBehaviour/ 声明从鼠标发出一条射线 clickRayRay clickRay;/ 声明 clickRay 与游戏物体的碰撞 RaycastHit clickPoint;/ 声明 clickRay 与地

2、面的碰撞 RaycastHit posPoint;/设置地面层,我的地面层是第8 层,所以是 8。不会设置层的话请看下边的 Tips。LayerMask mask=1<<8;void Start () voidUpdate()clickRay=Camera.main.ScreenPointToRay(Input.mou sePosition);void OnMouseDown()/如果射线与物体相碰,则调用 OnMouseDrag() if(Physics.Raycast (clickRay,outclickPoint)OnMouseDrag();void OnMo

3、useDrag()/取射线与地面相碰的坐标,赋给 mouseMove, 再把 mouseMove 的 x 坐标和 z 坐标赋给物体, y 坐标不变(因为 是贴在地面上移动)Physics.Raycast (clickRay ,out posPoint,Mathf.Infinity,mask.value);Vector3mouseMove=posPoint.point;transform.position = (new Vector3(mouseMove.x, transform.position.y, mouseMove.z); return;Tips :1、首先要拖拽的物体必须加上了 Col

4、lider 组建。然后在物体的 Inspector 视窗中点击 AddComponent-(最下边) New Script , Name 填 mouseDrag,Language 选 CSharp,点击 Creatand Add。创建完双击 MouseDrag 组建中的 Script 文件, 打开以后把上边代码全部替换过 去,保存。 2、如何设置地面层:选中地面,在 Inspector 视窗最上边有 Tag 和 Layer 下拉菜单, 点击Layer,选择一个层,然后点AddLayer 确认你的层编号。如果是第 10 层,则把代码中的LayerMaskmask=1<&lt

5、;8; 改成 LayerMask mask=1<<10;3 、假如想 要拖动的是角色,并且改变角色朝向和切换行走动画,就把 voidOnMouseDrag( )这行和后边大括号里的东西全部替换为 voidOnMouseDrag()/取射线与地面相碰的坐标,赋给mouseMove,再把mouseMove 的 x 坐标和 z 坐标赋给物体, y 坐标不变(因为 是贴在地面上移动)Physics.Raycast (clickRay ,out posPoint,Mathf.Infinity,mask.value);Vector3 mouseMove=posPoint.point;/令角色朝向行走方向transform.LookAt(new Vector3(mouseMove.x, transform.position.y, mouseMove.z);transform.position = (new Vector3(mouseMove.x, transform.position.y, mouseMove.z);/播放行走动画,引号里改成你自己的动画名称 animation.CrossFade("walk");return;void OnMouseUp()/鼠标松开时回到待机悬停动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论