在统一的运行时通过拖放创建对象

本文关键字:拖放 创建对象 运行时 | 更新日期: 2023-09-27 18:00:41

我必须在运行时通过拖动按钮来创建对象。我找了很多,但还是找不到解决办法。

我通过使用以下示例代码单击按钮来创建对象。但我不得不拖着脚。

我的代码是:

using UnityEngine;
using System.Collections;
public class CreateSphere : MonoBehaviour {
public void OnClick()
{
    GameObject sphere = GameObject.CreatePrimitive (PrimitiveType.Sphere);
    sphere.transform.localScale = new Vector3(3.0f, 3.0f, 1.0f) ;
    //transform.Translate(0, 0, Time.deltaTime);
    sphere.transform.position = new Vector3 (4, 0, 0);
}
}

在统一的运行时通过拖放创建对象

OnClick不是拖动,只是单击。要拖动,您需要有拖动处理程序

using UnityEngine;
using UnityEngine.GUI;
using UnityEngine.EventSystems;
using System.Collections;
public class CreateSphere : MonoBehaviour, IBeginDragHandler, IDragHandler {
    GameObject sphere;
    public void OnBeginDrag(PointerEventData data)
    {
        // Begin dragging logic goes here
        sphere = GameObject.CreatePrimitive (PrimitiveType.Sphere);
    }
    public void OnDrag(PointerEventData data)
    {
        // Dragging logic goes here
        sphere.transform.localScale = new Vector3(3.0f, 3.0f, 1.0f) ;
        //transform.Translate(0, 0, Time.deltaTime);
        sphere.transform.position = new Vector3 (4, 0, 0);
    }
}