В настоящее время работаю над мобильной 3D-игрой с бесконечным раннером. При нажатии кнопки пользовательского интерфейса мой игрок запускает анимацию. При касании мобильного экрана появляется анимация атаки моего игрока. Но здесь моя проблема в том, что при нажатии кнопки пользовательского интерфейса воспроизводится анимация бега и атаки.
может ли кто-нибудь подсказать, как решить эту проблему
using System.Collections;
using UnityEngine.EventSystems;
public class TestAgain : MonoBehaviour
{
float lastTouchForDouble, lastTouchForMulti, presentTouchTime = 0.3f,multiTouchTime = 0.2f;
bool isTouch;
public GameObject ant;
public float zoomValue;
float deltaMagnitudeDiff;
Ray ray;
RaycastHit hit;
public float scaleFactor;
public float minScale = 0.05f;
public float maxScale = 1f;
void Update ()//!EventSystem.current.IsPointerOverGameObject(pointerId)
{
if (Input.touchCount > 0) {
foreach (Touch touch in Input.touches) {
if (EventSystem.current.IsPointerOverGameObject(touch.fingerId)){
return;
}
int pointerId = touch.fingerId;
if (touch.phase == TouchPhase.Ended) {
if (Input.touchCount == 1 && Input.touchCount != 2) {
if (!isTouch) {
isTouch = true;
ray = Camera.main.ScreenPointToRay (touch.position);
if (Physics.Raycast (ray, out hit)) {
if (hit.collider.name.Contains ("Player")) {
// Player attack animation
}
}
}
public void OnButtonClick()
{
//Play run animation
}
Подробнее здесь: https://stackoverflow.com/questions/346 ... -in-uniy3d
Обнаружить события касания пользовательского интерфейса в uniy3d............? ⇐ C#
Место общения программистов C#
1731964525
Anonymous
В настоящее время работаю над мобильной 3D-игрой с бесконечным раннером. При нажатии кнопки пользовательского интерфейса мой игрок запускает анимацию. При касании мобильного экрана появляется анимация атаки моего игрока. Но здесь моя проблема в том, что при нажатии кнопки пользовательского интерфейса воспроизводится анимация бега и атаки.
может ли кто-нибудь подсказать, как решить эту проблему
using System.Collections;
using UnityEngine.EventSystems;
public class TestAgain : MonoBehaviour
{
float lastTouchForDouble, lastTouchForMulti, presentTouchTime = 0.3f,multiTouchTime = 0.2f;
bool isTouch;
public GameObject ant;
public float zoomValue;
float deltaMagnitudeDiff;
Ray ray;
RaycastHit hit;
public float scaleFactor;
public float minScale = 0.05f;
public float maxScale = 1f;
void Update ()//!EventSystem.current.IsPointerOverGameObject(pointerId)
{
if (Input.touchCount > 0) {
foreach (Touch touch in Input.touches) {
if (EventSystem.current.IsPointerOverGameObject(touch.fingerId)){
return;
}
int pointerId = touch.fingerId;
if (touch.phase == TouchPhase.Ended) {
if (Input.touchCount == 1 && Input.touchCount != 2) {
if (!isTouch) {
isTouch = true;
ray = Camera.main.ScreenPointToRay (touch.position);
if (Physics.Raycast (ray, out hit)) {
if (hit.collider.name.Contains ("Player")) {
// Player attack animation
}
}
}
public void OnButtonClick()
{
//Play run animation
}
Подробнее здесь: [url]https://stackoverflow.com/questions/34647801/detect-ui-touch-events-in-uniy3d[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия