Unity 2d实例化鼠标位置问题,请告知

Unity 2d instantiating on mouse location trouble, Please advise

本文关键字:问题 位置 2d 实例化 鼠标 Unity      更新时间:2023-09-26

好吧,我已经在网上到处寻找解决方案了,我可能只是失明了,但如果有人能帮我,那就太好了。

我正在写的脚本应该在鼠标点击的地方放置一个预制。这种情况应该发生在摄像机跟踪的另一个物体坠落时。问题不在于预制件的克隆,而在于它被克隆到的位置。它产生的坐标从一开始就是错误的,随着物体进一步下落,如果我不移动鼠标,球就会在同一个地方产生。需要明确的是,我希望预制件在游戏中我的鼠标所在的X、Y坐标系上生成。

var Xpos : float;
var Ypos : float;
var object : GameObject;
function Update ()
{ 
    if (Input.GetMouseButtonDown(0)) 
    {
        //debugging
        Xpos = Input.mousePosition.x;
        Ypos = Input.mousePosition.y;
        Instantiate(object, Vector3(Input.mousePosition.x,Input.mousePosition.y), Quaternion.identity);
    }
}

也许您需要使用Camera.ScreenToWorldPoint

var Xpos : float;    
var Ypos : float;    
var object : GameObject;
function Update ()  
{    
   if (Input.GetMouseButtonDown(0))  
   {  
      //debugging
      Xpos = Input.mousePosition.x;
      Ypos = Input.mousePosition.y;
      //Get mouse input and convert screen position to Unity World position
      var position : Vector3 = Camera.ScreenToWorldPoint(Input.mousePosition);
      Instantiate(object,position,Quaternion.identity); 
   }
}