Активирование анимации нажатием нескольких клавиш - Форум Игроделов
Пн, 20 Май 2024, 00:45 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » Активирование анимации нажатием нескольких клавиш (создание приёма)
Активирование анимации нажатием нескольких клавиш
HeadLinerДата: Вс, 15 Дек 2013, 11:56 | Сообщение # 1
Нет аватара
 
Сообщений: 55
Награды: 0
Репутация: 0
Статус: Offline
Я создал персонаж с анимациями настроил и соединил их в Mecanim, но теперь возникает вопрос: как сделать что-то вроде приёма? Например когда я нажимаю клавиши "F" и "G" последовательно то активируется некая анимация? И ещё можно ли работать с mecanim используя JavaScript ? Уж больно сложен для меня Си Шарп
 
СообщениеЯ создал персонаж с анимациями настроил и соединил их в Mecanim, но теперь возникает вопрос: как сделать что-то вроде приёма? Например когда я нажимаю клавиши "F" и "G" последовательно то активируется некая анимация? И ещё можно ли работать с mecanim используя JavaScript ? Уж больно сложен для меня Си Шарп

Автор - HeadLiner
Дата добавления - 15 Дек 2013 в 11:56
ЛевшаДата: Вс, 15 Дек 2013, 16:01 | Сообщение # 2
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата HeadLiner ()
можно ли работать с mecanim используя JavaScript ?

Разумеется можно.


X.cor.R (Prologue)
 
Сообщение
Цитата HeadLiner ()
можно ли работать с mecanim используя JavaScript ?

Разумеется можно.

Автор - Левша
Дата добавления - 15 Дек 2013 в 16:01
dostalitionДата: Пн, 16 Дек 2013, 16:01 | Сообщение # 3
 
Сообщений: 155
Награды: 0
Репутация: 9
Статус: Offline
Меня тоже интересует вопрос последовательного нажатия клавиш ... Т.е., например, нужно ввести код на двери, нажатием на соответствующие кнопки, но не понятно как должно выглядеть условие на , именно, последовательное их нажатие ... (допустим, сначала 2, потом 1 и затем 5) В принципе, один вариант Я знаю, типа присвоить каждой из нужных кнопок по булевой переменной и проверять , например, после нажатия 1, нажата ли 2 (правда или нет в её переменной), а при нажатии 5, проверять и 1 и 2 одновременно ... Но это как-то геморойно smile Нет ли другого способа ?

Сообщение отредактировал dostalition - Пн, 16 Дек 2013, 16:12
 
СообщениеМеня тоже интересует вопрос последовательного нажатия клавиш ... Т.е., например, нужно ввести код на двери, нажатием на соответствующие кнопки, но не понятно как должно выглядеть условие на , именно, последовательное их нажатие ... (допустим, сначала 2, потом 1 и затем 5) В принципе, один вариант Я знаю, типа присвоить каждой из нужных кнопок по булевой переменной и проверять , например, после нажатия 1, нажата ли 2 (правда или нет в её переменной), а при нажатии 5, проверять и 1 и 2 одновременно ... Но это как-то геморойно smile Нет ли другого способа ?

Автор - dostalition
Дата добавления - 16 Дек 2013 в 16:01
seamanДата: Пн, 16 Дек 2013, 16:53 | Сообщение # 4
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Делаем кнопку "Открыть". По нажатии на цифровые кнопки запоминаем их в массиве. (можно числа, можно символы). По нажатии на кнопку "Открыть" проверяем массив - последовательность символов в нем. Можно просто сравнением строк.
 
СообщениеДелаем кнопку "Открыть". По нажатии на цифровые кнопки запоминаем их в массиве. (можно числа, можно символы). По нажатии на кнопку "Открыть" проверяем массив - последовательность символов в нем. Можно просто сравнением строк.

Автор - seaman
Дата добавления - 16 Дек 2013 в 16:53
dostalitionДата: Пн, 16 Дек 2013, 18:09 | Сообщение # 5
 
Сообщений: 155
Награды: 0
Репутация: 9
Статус: Offline
Благодарю smile Массивы ещё не осваивал ... Видимо, время пришло ... Буду ковырять smile
 
СообщениеБлагодарю smile Массивы ещё не осваивал ... Видимо, время пришло ... Буду ковырять smile

Автор - dostalition
Дата добавления - 16 Дек 2013 в 18:09
seamanДата: Пн, 16 Дек 2013, 22:36 | Сообщение # 6
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Только обратите внимание - любая строка - это массив литер. Т.е. можно заносить политерно при нажатии клавиш в строку. А потом сравнивать целиком строку. Можно просто поэлементно сравнивать два массива. Как удобнее.
 
СообщениеТолько обратите внимание - любая строка - это массив литер. Т.е. можно заносить политерно при нажатии клавиш в строку. А потом сравнивать целиком строку. Можно просто поэлементно сравнивать два массива. Как удобнее.

Автор - seaman
Дата добавления - 16 Дек 2013 в 22:36
dostalitionДата: Вт, 17 Дек 2013, 23:16 | Сообщение # 7
 
Сообщений: 155
Награды: 0
Репутация: 9
Статус: Offline
Блин, ещё до массивов не добрался, но уже сомневаюсь, ни проще ли будет в данном случае моим способом сделать ? smile ....
 
СообщениеБлин, ещё до массивов не добрался, но уже сомневаюсь, ни проще ли будет в данном случае моим способом сделать ? smile ....

Автор - dostalition
Дата добавления - 17 Дек 2013 в 23:16
N0ratorДата: Чт, 26 Дек 2013, 20:44 | Сообщение # 8
 
Сообщений: 16
Награды: 0
Репутация: 1
Статус: Offline
В c#:
Код
if(Input.GetKey(KeyCode.G) && Input.GetKey(KeyCode.F))
{
      animation.CrossFade("Priem");
      ...
}
 
СообщениеВ c#:
Код
if(Input.GetKey(KeyCode.G) && Input.GetKey(KeyCode.F))
{
      animation.CrossFade("Priem");
      ...
}

Автор - N0rator
Дата добавления - 26 Дек 2013 в 20:44
seamanДата: Чт, 26 Дек 2013, 22:04 | Сообщение # 9
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Тут не анализируется последовательность
Цитата
как должно выглядеть условие на , именно, последовательное их нажатие (допустим, сначала 2, потом 1 и затем 5)
 
СообщениеТут не анализируется последовательность
Цитата
как должно выглядеть условие на , именно, последовательное их нажатие (допустим, сначала 2, потом 1 и затем 5)

Автор - seaman
Дата добавления - 26 Дек 2013 в 22:04
GaponecДата: Вт, 31 Дек 2013, 22:48 | Сообщение # 10
 
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
Возможно поможет метод animation.CrossFadeQueued , что активирует анимацию после того, как завершится проигрывание текущей
Код

if(Input.GetKey(KeyCode.G))
{ animation.CrossFade(anim1.name); }
if(Input.GetKey(KeyCode.F))
{ animation.CrossFadeQueued(anim2.name);
    animation.CrossFadeQueued(idle.name)//состояние спокойствия }
 
СообщениеВозможно поможет метод animation.CrossFadeQueued , что активирует анимацию после того, как завершится проигрывание текущей
Код

if(Input.GetKey(KeyCode.G))
{ animation.CrossFade(anim1.name); }
if(Input.GetKey(KeyCode.F))
{ animation.CrossFadeQueued(anim2.name);
    animation.CrossFadeQueued(idle.name)//состояние спокойствия }

Автор - Gaponec
Дата добавления - 31 Дек 2013 в 22:48
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » Активирование анимации нажатием нескольких клавиш (создание приёма)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024