unity2D模式如何在点击鼠标的地方生成gameobject?
现在的问题是 input.mouseposition 的点以及 转化成世界坐标的点都不是我鼠标点击的对应的2D的位置。所以请大佬帮忙解决下这个问题! 展开
你要生成的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;
}
}
好的 谢谢 我去试试