Unity 简单实现物体拖拽.doc

上传人:灯火****19 文档编号:137164990 上传时间:2020-07-05 格式:DOC 页数:2 大小:18KB
返回 下载 相关 举报
Unity 简单实现物体拖拽.doc_第1页
第1页 / 共2页
Unity 简单实现物体拖拽.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Unity 简单实现物体拖拽.doc》由会员分享,可在线阅读,更多相关《Unity 简单实现物体拖拽.doc(2页珍藏版)》请在金锄头文库上搜索。

1、using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEngine.UI;using System;using UnityEngine.EventSystems;public class durg : MonoBehaviour private int mode = 0; GameObject gameObj; public GameObject btnTurn; Vector3 pos; Ray ray; RaycastHit hitInfo; LayerMask mask

2、 = 1 8; public EventSystem es; public GraphicRaycaster gr; void Awake() btnTurn.transform.GetChild(1).GetComponent().onClick.AddListener(BtnTurnRight); btnTurn.transform.GetChild(2).GetComponent().onClick.AddListener(BtnTurnLeft); btnTurn.gameObject.SetActive(false); private void BtnTurnRight() game

3、Obj.transform.eulerAngles += new Vector3(0, 15, 0); private void BtnTurnLeft() gameObj.transform.eulerAngles += new Vector3(0, -15, 0); void Update() if (Input.GetMouseButtonDown(0) ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hitInfo) if (hitInfo.transform.g

4、ameObject.tag = Furniture) gameObj = hitInfo.transform.gameObject; mode = 1; if (Input.GetMouseButton(0) if (check() return; else ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hitInfo, Mathf.Infinity, mask.value) if (mode = 1) gameObj.transform.position = hitI

5、nfo.point; btnTurn.gameObject.SetActive(false); if (Input.GetMouseButtonUp(0) mode = 0; if (check() return; else ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hitInfo) if (hitInfo.transform.gameObject.tag = Furniture) btnTurn.gameObject.SetActive(true); Vector

6、3 screenPos = Camera.main.WorldToScreenPoint(gameObj.transform.position); btnTurn.GetComponent().position = screenPos; else btnTurn.gameObject.SetActive(false); bool check() PointerEventData eventData = new PointerEventData(es); eventData.pressPosition = Input.mousePosition; eventData.position = Input.mousePosition; List list = new List(); gr.Raycast(eventData, list); return list.Count 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号