将生成的对象放置在鼠标位置

Placing a spawned object at a mouses location

我想要做的是:

我已经这样做了一段时间并且已经完成了前两个步骤,但是我不知道如何让我的生成对象重置其位置。有人可以帮帮我吗?

我的代码:

void MoveObject()
{
    if(aliveObject != null)
    {
        if (moveObject == true)
        {

            Vector3 pos = Input.mousePosition;
            pos.z = aliveObject.transform.position.z - Camera.main.transform.position.z;
            aliveObject.transform.position = Camera.main.ScreenToWorldPoint (pos);
            Vector3 targetPositon = Camera.main.ScreenToWorldPoint (pos);

        }
        else if (moveObject == false)
        {
            Vector3 p = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y,10.0f));
            aliveObject.transform.position = new Vector3(p.x,p.y, 0.0f);
            Debug.Log("placed");
        }
    }
}

void Update () 
{

    MoveObject ();
    if (Input.GetMouseButtonDown(0)) 
    {
        moveObject = false;

    }
}

public void DecreaseCount()
{
    // called when UI button is clicked  
    if(count > 1)
        aliveObject = (GameObject)Instantiate(desiredObject,new Vector3(0,0, 0.0f),Quaternion.identity);

}

我会怎么做:

Public GameObject spawnObject;

void Update ()
{
    DragObject (spawnObject);
}

void DragObject (GameObject item)
{
     if ( input.GetMouseButtonDown ())
     {
           Vector3 pos = input.mousePosition;

            if (theItem == null)
            {
                   GameObject theItem = Instantiate (item, pos, new Quaternion (0f, 0f, 0f, 0f)) as GameObject;
            }
            if (theItem != null)
            {
                   theItem.transform.position = pos;
            }
      }
}

然后就看你销毁这个对象了。如果您在 Unity 中创建一个游戏对象,然后将其分配给 spawnObject,它应该会生成它并留在鼠标所到之处。顺便说一句,我在 phone 上输入了这个,所以请检查 Lower/Upper 个案例。

因为在update方法中,所以会锁定到鼠标的位置。我已经完成了某种形式的此操作以将游戏对象锁定到我的应用程序中的角色位置。