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);
//结束拖拽
if (Input.GetMouseButtonUp(0))
{
_isDragSpawning = false;
_objDragSpawning = null;
}
}
}
//按下鼠标时开始生成实体
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 复制这段内容后打开百度网盘手机App,操作更方便哦
unity 从工具栏拖动生成物体
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、菜单栏常用功能 菜单栏是Unity操作界面的重要组成部分之一,其主要用于汇集分散的功能与板块,并且其友好的设计...
- 在Winform界面开发的时候,有时候我们客户喜欢把功能放在列表界面的顶部,这样界面和功能整齐放置,也是一种比较美...
- 1、下载ckeditor https://ckeditor.com/ckeditor-4/download/[ht...