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

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Завершение анимации после отпускания клавиши. (Не завершается анимация)
Завершение анимации после отпускания клавиши.
rid32Дата: Пятница, 28 Февраля 2014, 21:24 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем доброго времени суток.
Нужна помощь.

Задача :

допустим есть анимация 5 кадров
-нажали кнопку
-пошла анимация (кадр 0, кадр 1)
-нажали другую (или отпустили первую) на кадре 2 , но анимация НЕ ДОЛЖНА закончиться пока не покажет все оставшиеся кадры.

У меня сделано так:

image_speed=0.3
if keyboard_check(vk_right)
and place_free(x+3,y)
{
x+=3
sprite_index=имя спрайта (не анимированный гиф, а набор кадров)
}

if keyboard_check(vk_nokey)
{
image_speed=0
}

В результате при отпускании клавиши анимация останавливается на текущем кадре не завершаясь.


Сообщение отредактировал rid32 - Суббота, 01 Марта 2014, 20:00
HSPДата: Пятница, 28 Февраля 2014, 21:50 | Сообщение # 2
почетный гость
Сейчас нет на сайте
используй не keyboard_check, а keyboard_check_pressed(нажата) и keyboard_check_released(отпущена)

когда ты отпускаешь кнопку ты просто устанавливаешь скорость прокрутки анимации на 0, тебе нужно установить картинку на первый кадр (что ли), используй image_index = 0

Добавлено (28.02.2014, 21:50)
---------------------------------------------
image_speed=0.3
if(keyboard_check_pressed(vk_right) and place_free(x+3,y))
{
x+=3
sprite_index=имя спрайта (не анимированный гиф, а набор кадров)
}

if(keyboard_check_released(vk_right))
{
image_speed=0
image_index =0
}


Сообщение отредактировал HSP - Пятница, 28 Февраля 2014, 21:50
laggertДата: Пятница, 28 Февраля 2014, 21:51 | Сообщение # 3
почетный гость
Сейчас нет на сайте
if keyboard_check_released(vk_right)
{
image_speed=0
image_index=0
}

Но лучший вариант:
Код
if keyboard_check(vk_right) and place_free(x+3,y)  
{  
image_speed=0.3  
x+=3  
sprite_index=имя спрайта (не анимированный гиф, а набор кадров)  
}  
else
{
image_speed=0  
image_index=0
}



Я здесь, чтобы распространять ЛАГИ!!!
rid32Дата: Суббота, 01 Марта 2014, 07:57 | Сообщение # 4
был не раз
Сейчас нет на сайте
HSP, laggert, мне ненужно сбрасывать кадр мгновенно на 0.

допустим есть анимация 5 кадров

-нажали кнопку
-пошла анимация (кадр 0, кадр 1)
-нажали другую (или отпустили первую) на кадре 2 , но анимация НЕ ДОЛЖНА закончиться пока не покажет все оставшиеся кадры.
laggertДата: Суббота, 01 Марта 2014, 15:11 | Сообщение # 5
почетный гость
Сейчас нет на сайте
rid32, оу. Можно было по-конкретней написать изначально happy
Исходничек самописный.



Я здесь, чтобы распространять ЛАГИ!!!
rid32Дата: Суббота, 01 Марта 2014, 19:45 | Сообщение # 6
был не раз
Сейчас нет на сайте
laggert, Да правильно, работает. Но как дать пользователю сменить клавишу управления через меню игры в таком случае ?
laggertДата: Суббота, 01 Марта 2014, 23:44 | Сообщение # 7
почетный гость
Сейчас нет на сайте
rid32, ещё один исходник, корявенько, но понятно

Добавлено (01.03.2014, 23:44)
---------------------------------------------
Но, чтобы лучше тебе разобраться, почитай это:




Я здесь, чтобы распространять ЛАГИ!!!
rid32Дата: Воскресенье, 02 Марта 2014, 11:00 | Сообщение # 8
был не раз
Сейчас нет на сайте
laggert, Спасибо. Думаю я понял в чем ошибка. Ткнул на плюс тебе up
laggertДата: Воскресенье, 02 Марта 2014, 19:02 | Сообщение # 9
почетный гость
Сейчас нет на сайте
rid32, спасибо и пожалуйста happy


Я здесь, чтобы распространять ЛАГИ!!!
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Завершение анимации после отпускания клавиши. (Не завершается анимация)
  • Страница 1 из 1
  • 1
Поиск:

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