unity отслеживания нажатия пальцем конкретного обьекта
Здравствуйте вроде легкий вопрос но как отследить нажатие пальцем на телефоне конкретного обьекта по привязке чтобы в итоге выполнялась функция
'''
void Update() {
if (Input.touchCount > 0) {
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began) {
// что-то делать
}
}
}
'''
это нажатие прото на экран а мне нужно конкретного обьекта
Ответы (1 шт):
На каждый объект, на который будут нажимать, ставишь скрипт с функцией OnMouseDown():
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseDown.html
Объект должен иметь коллайдер такого размера и такой формы, которой будет область нажатия. Если не хочешь, чтобы об тот коллайдер врезались другие коллайдеры, то ставь галочку is Trigger у компонента коллайдера
Да, функция называется "OnMouseDown", но не переживай, нажатия тоже работают. Функция срабатывает один раз и только тогда, когда на объект нажимают.
Советую ознакомиться с другими функциями, похожими на OnMouseDown(): https://docs.unity3d.com/Manual/UIE-Mouse-Events.html
.
Пример кода:
public int clickNumber = 0;
private void OnMouseDown()
{
clickNumber++
}