下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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<<
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新余市中医院术后患者超声考核
- 宁德市中医院护理教学科研创新考核
- 吉安市中医院手外科急诊处理能力考核
- 池州市中医院轻型卒中溶栓策略考核
- 金华市人民医院急诊健康教育考核
- 镇江市中医院心脏核素显像适应证与结果判读考核
- 宿迁市中医院电极放置规范考核
- 杭州市中医院老年热射病防治考核
- 鹰潭市中医院食管静脉曲张治疗考核
- 抚州市人民医院回肠膀胱术规范化操作考核
- 抗菌药物的合理应用课件
- 2025年中国榕敏颗粒行业市场供需现状及未来发展趋势报告
- 皮肤溃疡的健康宣教
- 谈心谈话工作的方案
- 红星照耀中国演讲稿600字
- 小学四年级数学上册期中考试卷(完整)
- 居家养老护理培训课件
- 工厂内安全标识培训
- 拆除工程施工方案
- 期中试题-2024-2025学年四年级上册语文统编版
- 华为ICT大赛网络赛道考试题库(786题)
评论
0/150
提交评论