unity2D模式如何在点击鼠标的地方生成gameobject?

我想做个unity2D项目,然后在鼠标点击的地方生成一个gameobject。现在的问题是input.mouseposition的点以及转化成世界坐标的点都不是我鼠标点击... 我想做个unity2D项目,然后在鼠标点击的地方生成一个gameobject。
现在的问题是 input.mouseposition 的点以及 转化成世界坐标的点都不是我鼠标点击的对应的2D的位置。所以请大佬帮忙解决下这个问题!
展开
 我来答
所爱隔山河0
2020-07-20 · TA获得超过272个赞
知道小有建树答主
回答量:219
采纳率:89%
帮助的人:17万
展开全部

你要生成的gameobject是2d的吧?  



using System.Collections;

using System.Collections.Generic;

using UnityEngine;


public class ClickCreateImage : MonoBehaviour

{

    public GameObject imageItem;//要克隆的Imgae

    void Start()

    {

        

    }

    void Update()

    {

        if (Input.GetMouseButtonDown(0))

        {


          var go=  Instantiate(imageItem,GetImagePos(),imageItem.transform.rotation, imageItem.transform.parent);

            go.SetActive(true);

        }

    }


    /// <summary>

    /// 坐标转换! 将鼠标按下时的坐标,  根据新生成对象在其父下排列方式进行转换 得到的坐标的位置和鼠标按下时的位置一致

    /// </summary>

    /// <returns></returns>

    Vector3 GetImagePos() 

    {

        Vector3 imagePos;

        RectTransformUtility.ScreenPointToWorldPointInRectangle(imageItem.transform.parent as RectTransform,Input.mousePosition ,null, out imagePos);

        return imagePos;

    }

}

追问
好的 谢谢 我去试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式