2015-01-29 2 views
3

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)); 

Кто-нибудь есть теория о том, почему это произошло?

+4

Unity был ответ на этот вопрос [здесь] (http://answers.unity3d.com/questions/331558/screentoworldpoint-not-working. HTML). – Guvante

ответ

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 
} 
Смежные вопросы