基于瓦片的游戏(Unity),鼠标位置读数不准确

3

点击时X标记光标顶部

当单击瓷砖时,X 标识了光标的顶部。

下面的瓷砖是被设置的那一个。

我使用的代码来读取鼠标在单击时的位置:

Vector3 rayPos = Camera.main.ScreenToWorldPoint (Input.mousePosition);   
RaycastHit2D hit = Physics2D.Raycast (
    new Vector2 (rayPos.x, rayPos.y),
    new Vector2 (0f, 1f));

有没有人有关于这个发生的理论?

4
Unity已经回答了这个问题在这里 - Guvante
1个回答

1

嗨,正如Steven所说,请使用ScreenPointToRay()方法

Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit hit;
Vector3 position;
if (Physics.Raycast (ray, out hit, 20000)) {
    position = hit.point;
} else {
  // do something when no hit
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接