Проблемы с проигрыванием анимации.
| |
Barugoo | Дата: Четверг, 02 Октября 2014, 13:26 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Добрый день! В общем, столкнулся с проблемой - в моей игре, при слайде по экрану, персонаж перемещается соответственно по уровню вправо-влево. Сейчас возникла необходимость добавить к этому самому перемещению еще и анимацию, но вот незадача - несмотря на код (см. ниже) вне зависимости от того, в какую сторону происходит слайд, проигрывается одна и та же анимация (т.е. проигрывается одна и та же анимация, когда для каждого направления слайда она должна быть разная). Проблема явно не в фрагменте слайда, т.к. само движение вправо-влево работает "на ура", косячит сама анимация. Можете подсказать, с чем это связанно, и как это возможно исправить?
Код if (Alive && !Menu && Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) { var touchDeltaPosition:Vector2 = Input.GetTouch(0).deltaPosition; { if(touchDeltaPosition.x > 4){ transform.position += transform.right * SideSpeed * Time.deltaTime; PlayerMesh.animation.Play("NaklonVpravo"); } if(touchDeltaPosition.x < - 4) transform.position -= transform.right * SideSpeed * Time.deltaTime; PlayerMesh.animation.Play("NaklonVlevo"); } }
else { PlayerMesh.animation.Play("NonNaklon"); }
|
|
| |
MANMANA | Дата: Четверг, 02 Октября 2014, 14:46 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| ради теста "NonNaklon" замени на "NaklonVlevo". а потом на "NaklonVpravo". хочется знать, что будет происходить, когда пальцами не шебуршим.
ну и про размер вектора touchDeltaPosition : float = touch.deltaPosition.magnitude;//длина вектора touchSpeed = touchDeltaPosition/Time.deltaTime;//это... так... на будущее. можешь использовать - чем быстрее елозишь пальцем, тем быстрее сдвигать персонажа
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
Barugoo | Дата: Четверг, 02 Октября 2014, 14:57 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Цитата ради теста "NonNaklon" замени на "NaklonVlevo". а потом на "NaklonVpravo". хочется знать, что будет происходить, когда пальцами не шебуршим. Заменил, в одном случае ничего не менялось при слайде по экрану в оба направления, а во втором проигрывалась анимация противоположного наклона при аналогичных действиях.
Цитата ну и про размер вектора touchDeltaPosition : float = touch.deltaPosition.magnitude;//длина вектора touchSpeed = touchDeltaPosition/Time.deltaTime;//это... так... на будущее. можешь использовать - чем быстрее елозишь пальцем, тем быстрее сдвигать персонажа Спасибо, но в моем случае это может внести немало дисбаланса=)
Сообщение отредактировал Barugoo - Четверг, 02 Октября 2014, 14:58 |
|
| |
MANMANA | Дата: Четверг, 02 Октября 2014, 16:14 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| удаленно саму анимацию просмотреть не получается, к сожалению имя в скрипте NaklonVlevo - совпадает с названием анимации? naklonVlevo, NaaklonVlevo , NaklonWlevo, NaklonVleva поскольку второй вариант рабочий - измени настройки анимации у первой анимации на настройки для второй сама анимация справа в углу проигрывается?
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
Barugoo | Дата: Четверг, 02 Октября 2014, 16:43 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Цитата поскольку второй вариант рабочий Первый тоже рабочий, просто проигрывается анимация, которая по-дефаулту уже стоит, если не трогать сенсор, поэтому никаких телодвижений и не происходит. Анимация полностью рабочая, проблема в проигрывании, поэтому меня вводит в ступор. Попробую поискать по какому принципу избирается именно та анимация, которая проигрывается вне зависимости от направления слайда.
|
|
| |
MANMANA | Дата: Четверг, 02 Октября 2014, 17:01 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| скобки, блин!!!!!!!!!!!!!!!! Добавлено (02.10.2014, 17:01) --------------------------------------------- if(touchDeltaPosition.x < - 4) !!!!!! { transform.position -= transform.right * SideSpeed * Time.deltaTime; PlayerMesh.animation.Play("NaklonVlevo"); !!!!!!!!!}
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
Barugoo | Дата: Четверг, 02 Октября 2014, 17:14 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| MANMANA, тьфу ты, точно же! Невнимательность - она такая) Спасибо большое)
|
|
| |
allods | Дата: Четверг, 02 Октября 2014, 23:14 | Сообщение # 8 |
почти ветеран
Сейчас нет на сайте
| вот поэтому лучше
if(lololoolol) { your code of noob }
чем
if(lololoolol){ your code of noob }
^^
|
|
| |
MANMANA | Дата: Четверг, 02 Октября 2014, 23:55 | Сообщение # 9 |
почти ветеран
Сейчас нет на сайте
| именно поэтому и не заметил сам выставляю в моно { } хотя... это и так видно из #6 сообщения да и у него Цитата Barugoo ( ) else { PlayerMesh.animation.Play("NonNaklon"); } просто торопился, видать
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
|