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

时间:2015-01-29 19:40:04

标签: c# unity3d

X marks the top of cursor when clicked

X 标记单击图块时光标的顶部。

下面的图块是已设置的图块。

用于在点击鼠标时读取鼠标位置的代码:

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

有没有人理解为什么会这样?

1 个答案:

答案 0 :(得分:1)

嗨,史蒂文说使用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
}