unity 從工具欄拖動生成物體

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
//*****************************************************腳本掛在需要拖動的Button或者Image即可***************************************************************
public class DragSpawn : MonoBehaviour, IPointerDownHandler
{
   //正在拖拽的物體
   private GameObject _objDragSpawning;

   //是否正在拖拽
   private bool _isDragSpawning = false;
   public Image image;
   // Update is called once per frame
   void Update () {
       if (_isDragSpawning)
       {
           //刷新位置
           Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
           RaycastHit hit;
           LayerMask aa = 1 << 8;
           if (Physics.Raycast (ray,out hit ,100f,aa))
           {
               _objDragSpawning.SetActive(true);
               _objDragSpawning.transform.position = hit.point;
               image.enabled = false;
           }
           else
           {
               image.enabled = true;
               _objDragSpawning.SetActive(false);
               image.transform.position = Input.mousePosition;
           }
           //_objDragSpawning.transform.position = ray.GetPoint(10);

           //結(jié)束拖拽
           if (Input.GetMouseButtonUp(0))
           {
               _isDragSpawning = false;
               _objDragSpawning = null;
           }
       }
   }

   //按下鼠標(biāo)時開始生成實(shí)體
   public void OnPointerDown(PointerEventData eventData)
   {
       GameObject prefab = Resources.Load<GameObject>("person");
       if(prefab != null)
       {
           _objDragSpawning = Instantiate(prefab);
           _isDragSpawning = true;
       }
           
   }

}下面附上Demo鏈接:鏈接:https://pan.baidu.com/s/18VhVJqXJzrltIJz_he-JvQ 提取碼:k5kg 復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機(jī)App,操作更方便哦
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容