Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/88: Рейтинг темы: голосов - 88, средняя оценка - 4.53
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 667
1

Конец проигрывания анимации

14.09.2015, 17:16. Показов 17209. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Когда бот подходит к игроку включается анимация кусания. Как сделать так что-бы когда он укусил меня (закончилась анимация) у меня от одной переменной отнималось -1?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.09.2015, 17:16
Ответы с готовыми решениями:

Прекращение проигрывания музыки и анимации
как сделать так чтобы при нажатии кнопок на телефоне (назад и свернуть) ...

Как сделать кнопку для проигрывания анимации?
как правильно прописать скрипт чтобы анимация сначала была застопорена, а при кликание мышкой по...

Алгоритмы.Анимации. Написать прогу для изображения анимации
нужно чтобы она двигалась во все стороны. вот эта фигура

Проигрывание анимации после анимации
Добрый день форумчане. Ищу уже пару дней информацию, нигде не смог зайти, пошел во все тяжкие -...

8
8 / 8 / 3
Регистрация: 31.07.2015
Сообщений: 71
14.09.2015, 19:55 2
EventSystem в помощь.
Напишите данную операцию(отнимание единицы) в отдельный void.
Далее на последнем кадре анимации добавьте Event - void с нужным кодом.
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
15.09.2015, 00:29 3
Цитата Сообщение от cortexdeveloper Посмотреть сообщение
EventSystem в помощь.
Напишите данную операцию(отнимание единицы) в отдельный void.
Далее на последнем кадре анимации добавьте Event - void с нужным кодом.
Добавлю к сказанному рисунки:
Миниатюры
Конец проигрывания анимации   Конец проигрывания анимации   Конец проигрывания анимации  

0
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 667
15.09.2015, 16:12  [ТС] 4
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Добавлю к сказанному рисунки:
Я понял уже как это сделать. Вот только один вопрос.
У меня заблокировано изменение.
Конец проигрывания анимации

Модель скачана.
0
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 667
15.09.2015, 23:47  [ТС] 5
Цитата Сообщение от Vla00 Посмотреть сообщение
Я понял уже как это сделать. Вот только один вопрос.
У меня заблокировано изменение.
Модель скачана.
Спасибо всем. уже разобрался как это сделать....

Добавлено через 7 минут
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Добавлю к сказанному рисунки:
Не активна кнопка "Add Event". Может выбрать последний кадр и добавить компонент в котором в Start() будет вычитание от переменной в другом скрипте?

Добавлено через 6 минут
Цитата Сообщение от Vla00 Посмотреть сообщение
Start()
В этой функции будет один if который будет проверять позиции Bip01: position и если они совпадают с позициями в которых находится допустим 10-ый кадр до выполнить изменение переменной. Пойдет так?
0
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
16.09.2015, 09:48 6
Перетащи анимационный клип из модели в ассеты и тогда его можно будет редактировать.
Но вообще (имхо) лучше просто в другом скрипте засекать время и из него уже регулировать ХП
0
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 667
16.09.2015, 20:01  [ТС] 7
Цитата Сообщение от arrjj Посмотреть сообщение
лучше просто в другом скрипте засекать время и из него уже регулировать ХП
Решил сделать как вы сказали. Можете мне подсказать ответы на пару вопросов. У меня анимация 20 кадров сколько это по времени и у меня скрипт на бота вот такой:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void Update () {
        if (atack == false)
        {
            mob.transform.Translate(0, 0, speedMonster);
            //включаем анимацию движения
            animation.Play("Run");
        }
        else
        {
//включаем анимацию атаки
            animation.Play("Bite2");
        }
//сама атака
        Atack();
    }
 
    void Atack()
    {
        float distance = Vector3.Distance(player.position, mob.position);
        if (minDistance > distance)
        {
            atack = true;
            if(animation.isPlaying == false)
//вычитание от здоровья игрока -1
                player.gameObject.GetComponent<HPPlayer>().XpPlayer = player.gameObject.GetComponent<HPPlayer>().XpPlayer - 1;
        }
        else
            atack = false;
    }
Я немогу понять где здесь вставить таймер (сколько кадров)
0
211 / 201 / 63
Регистрация: 24.09.2014
Сообщений: 532
17.09.2015, 00:09 8
Vla00, анимации в юнити не зависят от количества кадров, только время.
0
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
22.09.2015, 16:30 9
Чувак, все очень плохо. Я имею в виду, завязывать на анимацию любое действие - само по себе плохо, но этот скрипт, который ты приложил, уж прости старика, никуда не годится.

Цитата Сообщение от Vla00 Посмотреть сообщение
player.gameObject.GetComponent<HPPlayer>().XpPlayer = player.gameObject.GetComponent<HPPlayer>().XpPlayer - 1;
Тут ты дважды выполняешь очень тяжелую операцию GetComponent, чтобы вычесть единичку. Почему бы не сделать синглтон, к которому ты сможешь обращаться из любого места программы и без всяких проблем отнимать от этого значения что угодно?

Цитата Сообщение от Vla00 Посмотреть сообщение
float distance = Vector3.Distance(player.position, mob.position);
А тут ты в апдейте вычисляешь Vector3.Distance. Поверь, если ты соберешь свою игру на девайсе, когда она будет наполнена такими решениями, она будет ужасно тормозить даже на топовых устройствах. Я думаю, тебе стоит почитать книги по шарпу и юнити в частности. Без обид, договорились?
0
22.09.2015, 16:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2015, 16:30
Помогаю со студенческими работами здесь

Массив строк. Конец строки и конец массива
\n - перевод на новую строку \0 - конец строки Если у меня массив строк (текст), чем...

Строка проигрывания песни
есть уже плеер и 2 кнопки к нему &lt;audio id=&quot;$idsong&quot; src=&quot;songs/$fname&quot;&gt;&lt;/audio&gt; &lt;button...

Полоса процесса проигрывания музыки
Доброго здравия всем! Пишу простой плеер. Получает путь до файла через flashvars, создаёт канал...

Программа для проигрывания аудио
Подскажите САБЖ. Основные критерии: удобный плейлист, возможность создавать и сохранять его, чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru