Пятница, 19 Апреля 2024, 13:38

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Что не так в скрипте? (РЕШЕНО)
Что не так в скрипте? (РЕШЕНО)
Vip_and_RipДата: Пятница, 16 Марта 2012, 23:30 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Code
var impact : AnimationClip; //выбираем анимацию

function Update () {
if (Input.GetButton ("Fire1")) // вызываем ее кликом мыши
         animation.Play(impact); //проигрываем

}


А в ответ:
Code
Assets/AnimationShot.js(5,22): BCE0023: No appropriate version of 'UnityEngine.Animation.Play' for the argument list '(UnityEngine.AnimationClip)' was found.

Из ошибки видно, что "не назначен клип". Но для этого задана функция var impact.
Танцы с бубном вокруг имени анимации ( animation.Play("name")) тоже окончились провалом.


Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Пятница, 16 Марта 2012, 23:39
Nekit_AutДата: Пятница, 16 Марта 2012, 23:37 | Сообщение # 2
The Dizziness - Man
Сейчас нет на сайте
Vip_and_Rip, Надо так:
Code

var impact : AnimationClip;
function Start(){

animation.AddClip(impact, "impact");

}

function Update () {
if (Input.GetButton ("Fire1"))
animation.CrossFade("impact"); // Можно использовать ещё и animation.CrossFade(); Можно и с Play, но... Поясняю: Play - анимация без смешивания, а CrossFade - со смешиванием

}




Сообщение отредактировал Nekit_Aut - Пятница, 16 Марта 2012, 23:38
Vip_and_RipДата: Пятница, 16 Марта 2012, 23:39 | Сообщение # 3
почетный гость
Сейчас нет на сайте
А хотя нет, все заработало.
Для тех, кто столкнется с этой-же вопиющей несправедливостью по отношению к переменной "impact", делаем следующим образом:
Code
function Update () {  
if (Input.GetButton ("Fire1")) // вызываем ее кликом мыши  
         animation.Play("Имя вашей анимации"); //что надо проиграть.
}

А затем в разделе "Animation" модельки выбираем нужную анимацию (ту, что указана в скрипте) и снимаем отметку с "Play Automatically". Готово.

Добавлено (16.03.2012, 23:39)
---------------------------------------------

Quote (Nekit_Aut)
var impact : AnimationClip;
function Start(){

animation.AddClip(impact, "impact");

}

function Update () {
if (Input.GetButton ("Fire1"))
animation.CrossFade("impact"); // Можно использовать ещё и animation.CrossFade(); Можно и с Play, но... Поясняю: Play - анимация без смешивания, а CrossFade - со смешиванием

Спасибо, но уже сам разобрался.


Больше никогда не буду делать игры.
seamanДата: Суббота, 17 Марта 2012, 00:03 | Сообщение # 4
старожил
Сейчас нет на сайте
Quote
вопиющей несправедливостью по отношению к переменной "impact"

Quote
функция var impact

рука-лицо
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Что не так в скрипте? (РЕШЕНО)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг