Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Input.GetTouch

Объявление

public static Touch GetTouch(int index);

Параметры

index Сенсорный ввод на экране устройства.

Возвращает

Touch Нажмите детали в структуре.

Описание

Вызов Input.GetTouch для получения структуры Touch.

Input.GetTouch возвращает Touch для выбранного касания экрана (например, пальцем или стилусом). Касание описывает прикосновение к экрану. Аргумент index выбирает сенсорный экран.

Input.touchCount предоставляет текущее количество касаний экрана. Если Input.touchCount больше нуля, GetTouchиндекс устанавливает, какой экран нужно нажать для проверки. Touch возвращает struct с подробностями касания экрана. Каждое дополнительное касание экрана использует увеличивающийся Input.touchCount.

GetTouch возвращает структуру Touch. Используйте ноль, чтобы получить первое касание экрана. Например, Touch включает позиция в пикселях.

Временные переменные не выделяются.

using UnityEngine; using System.Collections; using UnityEngine.iOS; // Input.GetTouch example. // // Attach to an origin based cube. // A screen touch moves the cube on an iPhone or iPad. // A second screen touch reduces the cube size. public class ExampleClass : MonoBehaviour { private Vector3 position; private float width; private float height; void Awake() { width = (float)Screen.width / 2.0f; height = (float)Screen.height / 2.0f; // Position used for the cube. position = new Vector3(0.0f, 0.0f, 0.0f); } void OnGUI() { // Compute a fontSize based on the size of the screen width. GUI.skin.label.fontSize = (int)(Screen.width / 25.0f); GUI.Label(new Rect(20, 20, width, height * 0.25f), "x = " + position.x.ToString("f2") + ", y = " + position.y.ToString("f2")); } void Update() { // Handle screen touches. if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); // Move the cube if the screen has the finger moving. if (touch.phase == TouchPhase.Moved) { Vector2 pos = touch.position; pos.x = (pos.x - width) / width; pos.y = (pos.y - height) / height; position = new Vector3(-pos.x, pos.y, 0.0f); // Position the cube. transform.position = position; } if (Input.touchCount == 2) { touch = Input.GetTouch(1); if (touch.phase == TouchPhase.Began) { // Halve the size of the cube. transform.localScale = new Vector3(0.75f, 0.75f, 0.75f); } if (touch.phase == TouchPhase.Ended) { // Restore the regular size of the cube. transform.localScale = new Vector3(1.0f, 1.0f, 1.0f); } } } } }

Второй пример:

using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public GameObject projectile; public GameObject clone; void Update() { for (int i = 0; i < Input.touchCount; ++i) { if (Input.GetTouch(i).phase == TouchPhase.Began) { clone = Instantiate(projectile, transform.position, transform.rotation) as GameObject; } } } }

Третий пример:

using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public GameObject particle; void Update() { for (int i = 0; i < Input.touchCount; ++i) { if (Input.GetTouch(i).phase == TouchPhase.Began) { // Construct a ray from the current touch coordinates Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position); // Create a particle if hit if (Physics.Raycast(ray)) { Instantiate(particle, transform.position, transform.rotation); } } } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3