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

时间:2015-05-19 20:51:28

标签: c# unity3d gameobject

我想要做的是以下内容:

  • 点击我的界面中的图标
  • 将相应的游戏对象关联起来 用它生成并按照我的鼠标指针
  • 当我点击鼠标时,此衍生对象的位置设置在我的鼠标指针所在的位置

我现在已经有一段时间了,并且完成了前两步,但是我失去了如何让我的衍生对象重置其位置。有人可以帮我一把吗?

我的代码:

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);

}

1 个答案:

答案 0 :(得分:0)

我将如何做到这一点:

totalSize = entity.getContentLength();

然后由你来销毁这个物体。如果你在Unity中创建一个游戏对象然后将其分配给spawnObject,它应该生成它并保留在鼠标移动的任何地方。顺便说一下,我在手机上输入了这个,所以请检查下/下案例。

因为它在更新方法中,它将锁定到鼠标的位置。我已经做了一些这样的事情来将GameObjects锁定到我的应用程序中的角色位置。