亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity3D拖動任意對象GameObject移動到任意地方

發布時間:2020-10-20 04:09:19 來源:網絡 閱讀:7604 作者:速度速度撒 欄目:游戲開發

今天不是很忙,研究了一下拖拽GameObject移動到任意位置,沿x軸和z軸移動,其他的也就不說了,上代碼:

using UnityEngine;
using System.Collections;

public class DragAndDrog : MonoBehaviour {

    private GameObject target;
    private bool isMouseDrag;
    private Vector3 screenPosition;
    private Vector3 offset;
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
        GameObjectDragAndDrog();
	
	}

    //任意拖拽

    private GameObject ReturnGameObjectDrag(out RaycastHit hit)
    {
        target = null;
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        if (Physics.Raycast(ray.origin, ray.direction * 10, out hit))
        {
            target = hit.collider.gameObject;
        }
        return target;
    }

    //拖拽Updata
    private void GameObjectDragAndDrog()
    {
        if (Input.GetMouseButtonDown (0))
        {
            RaycastHit hitInfo;
            target = ReturnGameObjectDrag(out hitInfo);
            if (target != null)
            {
                isMouseDrag = true;
                screenPosition = Camera.main.WorldToScreenPoint(target.transform.position);
                offset = target.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z));
            }      
        }

        if (Input.GetMouseButtonUp(0))
        {
            isMouseDrag = false;
        }

        if (isMouseDrag)
        {

            Vector3 currentScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z);
            Vector3 currentPosition = Camera.main.ScreenToWorldPoint(currentScreenSpace) + offset;
            target.transform.localPosition = new Vector3(currentPosition.x, currentPosition.y, currentPosition.z);

        }
    }

}

本腳本可以加載任意一個對象GameObject,場景中所有帶Collider的對象,當鼠標點擊拖動時候都可以沿x和z軸拖動。之前,都是要拖動那個GameObject就會寫一個腳本掛在上面,今天實現了不用每一個要拖動的GameObject都掛載腳本,也不用將移動的GameObject賦給某個變量。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

萍乡市| 天峻县| 包头市| 乐陵市| 睢宁县| 西林县| 海城市| 衡南县| 囊谦县| 道真| 通许县| 高雄市| 永新县| 弥勒县| 保定市| 沈丘县| 柳州市| 高台县| 碌曲县| 民勤县| 若尔盖县| 开江县| 平远县| 汨罗市| 灌南县| 车险| 灵石县| 顺义区| 新竹县| 陆丰市| 嵊泗县| 宜川县| 当阳市| 内江市| 五大连池市| 本溪| 柳江县| 宁海县| 乌恰县| 新巴尔虎左旗| 彩票|