Определение точки нажатия на экран
|
|
tduk | Дата: Суббота, 09 Июня 2018, 13:49 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Нужно определять точку нажатия на экран в координатах Х и У. Пробовал сделать по этому уроку ITVDN Точка определялась где-то оочень далеко за границами экрана( Я спавнил в этом месте объект) Что Я делаю не так? Или как можно реализовать это по-другому?
Код using UnityEngine; using UnityEngine.EventSystems;
public class script : MonoBehaviour,IPointerDownHandler
{ public GameObject soldier1;
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log(eventData.position); Instantiate(soldier1, eventData.position, Quaternion.identity);
}
}
Алгоритм такой: 1) В игре жму на экран 2) надо спавнить в этой точке объект
Проблема: Он спавнится где-то в "Кукуево"
Подозреваю, что можно как-то через локальные координаты сделать это, т к щас локальные используются как глобальные.
Сообщение отредактировал tduk - Понедельник, 11 Июня 2018, 23:57 |
|
| |
seaman | Дата: Суббота, 09 Июня 2018, 13:54 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Цитата Что Я делаю не так? А как ты делаешь?
|
|
| |
tduk | Дата: Понедельник, 11 Июня 2018, 19:57 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| seaman, Делал, как в том уроке(ссылка в шапке). Вешал на отдельный объект, вешал на камеру. Одно и то же все время(
|
|
| |
vladhad22 | Дата: Понедельник, 11 Июня 2018, 20:23 | Сообщение # 4 |
участник
Сейчас нет на сайте
| tduk, Цитата seaman ( ) А как ты делаешь? Этот вопрос значит, что чтобы помочь, нужно как минимум видеть ваш код. Вы скинули решение без ошибок, в то время как у вас есть ошибки.
Prepare for unforeseen consequences
|
|
| |
tduk | Дата: Понедельник, 11 Июня 2018, 23:57 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| seaman, vladhad22, исправил
|
|
| |
seaman | Дата: Вторник, 12 Июня 2018, 11:11 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| eventData.position измеряется в экранных координатах (т.е. пикселях). Instantiate использует мировые координаты.
Следовательно что нужно сделать? Преобразовать из экранных в мировые https://docs.unity3d.com/ScriptReference/Camera.ScreenToWorldPoint.html
|
|
| |
Wite | Дата: Вторник, 12 Июня 2018, 14:46 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| New Piskel(Clone)
|
|
| |