Как остановить анимацию?[Решено]

Общие вопросы о Unity3D

Как остановить анимацию?[Решено]

Сообщение osmansab 23 июн 2011, 10:08

Есть анимация падения на спину игрока. Как сделать так, чтобы он оставался в лежачем положении? Я использовал
Синтаксис:
Используется csharp
animation.Stop(deathAnimation.name)
, не помогло анимация возвращается в начальную позицию. Если после проигрыша анимации в инспекторе отключить Animation, то все нормально, но если компонент отключаю программно
Синтаксис:
Используется csharp
_myTransform.GetComponent<Animation>().enabled = false
персонаж проваливается.
Последний раз редактировалось osmansab 24 июн 2011, 02:06, всего редактировалось 1 раз.
Аватара пользователя
osmansab
UNец
 
Сообщения: 7
Зарегистрирован: 07 июн 2011, 21:16

Re: Как остановить анимацию?

Сообщение DanielDem 23 июн 2011, 12:27

попрубуй Animation["имя_анимациооного_липа"].enabled = false;
Да прибудет с Вами сила...
Аватара пользователя
DanielDem
UNITрон
 
Сообщения: 174
Зарегистрирован: 07 янв 2010, 13:27
Откуда: Россия
  • ICQ

Re: Как остановить анимацию?

Сообщение Order 23 июн 2011, 13:30

Можно сделать анимацию лежачего к примеру.. может даже полезнее будет.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: Как остановить анимацию?

Сообщение Левш@ 23 июн 2011, 13:36

не нужно останавливать, пропиши последний кадр падения как отдельную анимацию deathIdle и зацикли.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Как остановить анимацию?

Сообщение osmansab 23 июн 2011, 22:26

Проигрывание анимации лежание не совсем подходит, я хотел использовать остановку еще и для таких эффектов как заморозка. А использование
Синтаксис:
Используется csharp
Animation[_myTransform.name].enabled = false
выдает ошибку. Может кто знает, почему если в инспекторе после проигрывания анимации компонент Animation отключить все нормально, а если тоже самое сделать программно персонаж проваливается, причем как то странно он прикрепляется с обратной стороны пола.
Аватара пользователя
osmansab
UNец
 
Сообщения: 7
Зарегистрирован: 07 июн 2011, 21:16

Re: Как остановить анимацию?

Сообщение seaman 23 июн 2011, 22:31

Почему в первом посте Ваша анимация имеет такое имя: deathAnimation.name
а в последнем такое: _myTransform.name

Судя по всему в последнем варианте Вы пытаетесь остановить анимацию с именем объекта...
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Как остановить анимацию?

Сообщение osmansab 23 июн 2011, 22:49

В первом посте deathAnimation.name - имя проигрываемой анимации, а в последнем по рекомендации
Сообщение DanielDem
попрубуй Animation["имя_анимационого_лица"].enabled = false;
_myTransform.name - сам анимированный персонаж. Я так думаю, что
Синтаксис:
Используется csharp
Animation[_myTransform.name].enabled = false
отключает всю анимацию.
Аватара пользователя
osmansab
UNец
 
Сообщения: 7
Зарегистрирован: 07 июн 2011, 21:16

Re: Как остановить анимацию?

Сообщение seaman 23 июн 2011, 22:53

А думать иногда вредно. Лучше прочитать мануал
Animation["имя_анимации] - http://unity3d.com/support/documentation/ScriptReference/Animation.Index_operator.html

ЗЫ: а у него несколько не так, как Вы процитировали написано. Не "_лица", а "_липа". Явно он пропустил букву "к" - "_клипа"

ЗЗЫ: не понимаю - столько народу здесь принципиально не желает читать мануалы. Почему?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Как остановить анимацию?

Сообщение osmansab 23 июн 2011, 23:01

Да, действительно сглупил.
Аватара пользователя
osmansab
UNец
 
Сообщения: 7
Зарегистрирован: 07 июн 2011, 21:16

Re: Как остановить анимацию?

Сообщение osmansab 24 июн 2011, 01:52

Все всем спасибо я нашел как сделать. Кому интересно предоставляю код
Синтаксис:
Используется csharp
        private IEnumerator Death(){
                animation.wrapMode = WrapMode.Once;
                animation.Play(deathAnimation.name);
                yield return new WaitForSeconds(animation[deathAnimation.name].length -  1.5f);
        }
затем после вызова
Синтаксис:
Используется csharp
_myTransform.GetComponent<Animation>().enabled = false;
[V]
Аватара пользователя
osmansab
UNец
 
Сообщения: 7
Зарегистрирован: 07 июн 2011, 21:16

Re: Как остановить анимацию?

Сообщение Neodrop 24 июн 2011, 01:57

Добавьте в название темы [Решено]
(путём редактирования первого сообщения)
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 15