- 5
- 0
- 约2.56千字
- 约 4页
- 2020-06-11 发布于山东
- 举报
拖拽与坐标系转换
Posted on 2013年06月17日 by U3d / \o 查看 Unity3D脚本/插件 中的全部文章 Unity3D脚本/插件/被围观 45 次
Unity3D 中使用鼠标,或触屏设备手指拖拽物体移动,先介绍第一种方法:
01
using UnityEngine;
02
03
using System.Collections;
04
05
public class Drag : MonoBehaviour
06
07
{
08
09
// Use this for initialization
10
11
void Start() {
12
13
}
14
15
// Update is called once per frame
16
17
void Update() {
18
19
}
20
21
IEnumerator OnMouseDown()
22
23
{
24
25
//将物体由世界坐标系转化为屏幕坐标系 ,由vector3 结构体变量ScreenSpace存储,以用来明确屏幕坐标系Z轴的位置
26
27
Vector3 ScreenSpace = Camera.main.WorldToScreenPoint(transform.position);
28
29
//完成了两个步骤,1.由于鼠标的坐标系是2维的,需要转化成3维的世界坐标系,2.只有三维的情况下才能来计算鼠标位置与物体的距离,offset即是距离。
30
31
Vector3 offset = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z));
32
33
Debug.Log(“down”);
34
35
//当鼠标左键按下时
36
37
while (Input.GetMouseButton(0))
38
39
{nbsp; code lang=csharp//Unity3D教程手册
//得到现在鼠标的2维坐标系位置
Vector3 curScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z);
//将当前鼠标的2维位置转化成三维的位置,再加上鼠标的移动量
Vector3 CurPosition = Camera.main.ScreenToWorldPoint(curScreenSpace) + offset;
//CurPosition就是物体应该的移动向量赋给transform的position属性
transform.position = CurPosition;
yield return new WaitForFixedUpdate();
}
}
}
使用这种方法成功运行,但是查看官方开发文档,如下:
1
IMPORTANT: This function has no effect on iPhone.
拖拽与坐标系转换
这个方法并不能用在iPhone中,下面介绍第二种方法,需要注意的是鼠标坐标需经过转换后才能使用。
01
using UnityEngine;
02
03
using System.Collections;
04
05
/// summary
06
07
/// Common property of player
08
09
/// /summary
10
11
public class PlayerBase : MonoBehaviour
12
13
{
14
15
// Use this for initialization
16
17
void Start() {
18
19
}//Unity3D教程手册
20
21
bool isBeDraged = false;
22
23
RaycastHit hit;
24
25
// Update is called once per frame
26
27
void Update()
28
29
{
30
31
if (Input.GetMouseButton(0))
32
33
{
34
35
Ray ray =
您可能关注的文档
- 吊脚楼建筑结构设计说明书 (2).docx
- 大塘湾一级(60kmh)公路设计计算书.doc
- 寇慧俊 山西省晋中市榆次区乌金山镇聂店小学 《打秋千》教学设计(1).doc
- 对学习成果的评价 漂亮的图形.doc
- 导航音响调试指南.docx
- 将3D坐标转成2D坐标的方法.docx
- 将桩基图转换至设计控制点坐标位置.doc
- 小型果蔬冷藏库用太阳能喷射制冷系统设计(1).doc
- 小学三年级下册语文期末综合检测试题(1).docx
- 小学二年级(下)语文期末教学质量检测(2份).doc
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 病理性Q波课件.pptx VIP
- 电气控制与PLC应用技术全套课件.pptx VIP
- 穿越软硬突变地层盾构隧道管片及接头力学性能的多维度解析与工程应用.docx
- 第3课 “开元盛世”与唐朝经济的繁荣(同步教学课件)2025-2026学年七年级历史下册新授课课件.pptx VIP
- 《中国传统戏曲艺术》课件.ppt VIP
- 闽江特大桥主墩单壁钢吊箱围堰.doc VIP
- 第32讲_认定股东身份的基本规定、名义股东与实际出资人、股东的权利与义务概述、股东查阅权.pdf VIP
- 《老年社会工作》全套教学课件.pptx
- 矿山运输与提升:露天矿汽车运输PPT教学课件.pptx
- 管理学基础-第4版-张云河-1.2管理者认知.pptx VIP
原创力文档

文档评论(0)