Понедельник, 02 Декабря 2024, 10:02

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Смена анимации без глюков!
doongboДата: Понедельник, 13 Августа 2012, 22:05 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Помогите решить простую задачку.
Игрок не трогает клавиатуру скажем 10 сек, надо чтоб персонаж сменил анимацию (например начал махать руками), и когда игрок нажимает любую клавишу эта анимация прекращалась бы до повторного простоя клавы. Ну вы поняли о чем я)

Я начал) А закончить не получается))
В этом примере скрина если не убрать Player.Set animation to "stand", то нужная анимация (skakalka) проигрываться не будет, они как бы конфликтуют между собой.


Вот скрин для ориентировки:


"Чучундрия. Забранные"

Сообщение отредактировал doongbo - Понедельник, 13 Августа 2012, 22:11
PhenomДата: Понедельник, 13 Августа 2012, 23:08 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Если анимация спрайтовая, предлагаю решить эту проблему путем добавления в анимацию "stand" дополнительных одинаковых фреймов, т.е. добавляешь кадры чтобы анимация проигрывалась 10 секунд. После этого ставишь условие "по окончании анимации stand" и действие 'проигрывание анимацмм skakalka". Если анимация костная можно попробовать убрать в анимации 'stand' галочку с опции 'loop', затем напротив repeat# вписать количество повторов анимации после которых она остановится и можно будет запустить анимацию "skakalka". (с костной анимацией я не пробовал но со спрайтовой выкручивался именно так).
amopДата: Понедельник, 13 Августа 2012, 23:11 | Сообщение # 3
частый гость
Сейчас нет на сайте
Не думал просто объеденить анимации "стэнд" и "скакалка"?Сделай потом такую скорость чтоб через 5 сек простоя ГГ бы махал руками и все

C# - путь в будущее
vicu2010Дата: Вторник, 14 Августа 2012, 00:13 | Сообщение # 4
Сейчас нет на сайте
Phenom, всё правильно сказал!


Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
doongboДата: Вторник, 14 Августа 2012, 00:55 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Делал по совету Phenom, в свойствах анимации убрал галочку напротив loop, добавил фреймов, подождал 10 сек, ок, анимация остановилась.

вписал такое:


и тишина, чувак просто останавливается (анимация кончается) через 10 сек и нужная не воспроизводится.


"Чучундрия. Забранные"
error111Дата: Вторник, 14 Августа 2012, 01:10 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Сделать переменную AltStand. Задать ей значение допустим 5.
Если персонаж не двигается, то каждую секунду отнимать от этой переменной 1.
Если переменная меньше или равна 0, то переключать персонажа на анимацию АльтернативногоСтояния)
А для события (Персонаж.is Moving) ставить действием установку переменной AltStand обратно на 5.
Как-то таг.


[Shmup/RPG] Fantasy Shmup!
doongboДата: Вторник, 14 Августа 2012, 03:36 | Сообщение # 7
почетный гость
Сейчас нет на сайте
error111, Спасибо конечно, но я нифига не понял, мне до этих переменных еще далеко пока) разве что по исходникам менять чтото)

Ну вот почему не включается нужная анимация со скрина, блин, если задаю например закрывать игру то все работает.
Даже ставил перед этим ждать 1000 мс, тогда быстро проскакивает нужная анимация (заметно мгновение) и опять проигрывается "stand" и так по кругу.

Добавлено (14.08.2012, 03:36)
---------------------------------------------

Quote (amop)
Не думал просто объеденить анимации "стэнд" и "скакалка"?Сделай потом такую скорость чтоб через 5 сек простоя ГГ бы махал руками и все

Спасибо, скорей всего так и сделаю (уже сделал), но минус в том что размер игры растет при копировании фреймов, как бы фпс не упал еще от того.
Зы. Хотелось бы конечно сделать это все по примеру Phenom, может найдется какой светлый ум, и решит проблему...


"Чучундрия. Забранные"
error111Дата: Вторник, 14 Августа 2012, 05:45 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Вот пример.
Пример


[Shmup/RPG] Fantasy Shmup!


Сообщение отредактировал error111 - Вторник, 14 Августа 2012, 05:47
doongboДата: Вторник, 14 Августа 2012, 07:25 | Сообщение # 9
почетный гость
Сейчас нет на сайте
error111, Респект! Все отлично работает!!! Спасибо!
А можно както сделать рандомно, чтобы каждый раз разная анимация была?
Типа - Player: Set animation to "рыдаю" or Player: Set animation to "ржунимагу"


"Чучундрия. Забранные"

Сообщение отредактировал doongbo - Вторник, 14 Августа 2012, 07:57
vicu2010Дата: Вторник, 14 Августа 2012, 20:23 | Сообщение # 10
Сейчас нет на сайте
Создаёшь анимации: skak0, skak1, skak2, skak3. Делаешь событие:
on animation stand finished --> GG set animation ("skak"&randdom(4))



Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
doongboДата: Вторник, 14 Августа 2012, 22:34 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Quote (vicu2010)
Создаёшь анимации: skak0, skak1, skak2, skak3. Делаешь событие:
on animation stand finished --> GG set animation ("skak"&randdom(4))

Этот метод будет работать так - анимация стойки (конец) - случайная анимация (конец) - анимация стойки (конец) - случайная анимация (конец) и тд.
Тоесть, опять же нужно фреймы каждой анимации раздувать (чтобы анимация играла хотя б 10 сек, а не 1 сек) и увеличивать размер игры тем самым.
Я надеялся что подойдет это под пример error111, но увы, тогда просто вся сразу анимация проигрывается с бешеной скоростью.


"Чучундрия. Забранные"
vicu2010Дата: Вторник, 14 Августа 2012, 23:16 | Сообщение # 12
Сейчас нет на сайте
doongbo, Да нет, вот полностью сымитировал поведение как у него, но с рандомом и без вайта: My WebPage

Добавлено (14.08.2012, 23:16)
---------------------------------------------

Quote (doongbo)
с бешеной скоростью.

Так уменьши скорость... Лол... Учи азы..



Программист Ruby on Rails / COBOL | Веб-дизайнер(Bootstrap, HTML5, JS) | Викверс на Construct 2 / Classic
doongboДата: Среда, 15 Августа 2012, 00:03 | Сообщение # 13
почетный гость
Сейчас нет на сайте
Quote (vicu2010)
Да нет, вот полностью сымитировал поведение как у него, но с рандомом и без вайта: My WebPage

Да нет, у тебя совсем по другому все сделано, если зациклить анимацию стойки то фигушки. Но уже неплохо, можно теперь раздуть только анимацию стойки на 10 сек примерно, а другие рандомные не трогать. Вобщем заюзаю это) Спс.
Зы. trigger once - что это?)

Quote (vicu2010)
Так уменьши скорость... Лол... Учи азы..

Стойка анимированная (2 фрейма)

Вобщем всем спасибо, результат получен!


"Чучундрия. Забранные"

Сообщение отредактировал doongbo - Среда, 15 Августа 2012, 00:30
  • Страница 1 из 1
  • 1
Поиск:

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