On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 11.03.11 09:30. Заголовок: Смена спрайта


Подскажите пожалуйста, как можно реализовать:
идет персонаж, нажимаешь кнопку он должен выстрелить (при этом не должен отобразиться 1 рисунок спрайта, а все если он состоит из 5 рисунков) и как реализовать выстрел пули.
С движением персонажа (объекта) все понятно, а вот с остальным?

Спасибо: 0 
Цитата Ответить
Ответов - 10 [только новые]





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 11.03.11 10:21. Заголовок: Забыл уточнить :), к..


Забыл уточнить :), код программы необязателен, мне нужен алгоритм, спасибо!

Спасибо: 0 
Цитата Ответить





Пост N: 379
Зарегистрирован: 04.03.09
Откуда: Россия, Ростов-на-Дону
ссылка на сообщение  Отправлено: 11.03.11 17:37. Заголовок: Ну, алгоритм таков. ..


Ну, алгоритм таков. Допустим у тебя 2 спрайта: 1 - персонаж стоит, 2 - анимация выстрела. Когда игрок нажимает кнопку меняем спрайт на 2, а когда заканчивается его анимация меняем обратно на 1.
А вот алгоритм выстрела я описать не смогу, только код) Только небольшое уточнение сперва - это Game Maker?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1050
Зарегистрирован: 13.02.07
Откуда: Россия, Волгоград
ссылка на сообщение  Отправлено: 12.03.11 00:26. Заголовок: D(e)N пишет: А вот ..


D(e)N пишет:

 цитата:
А вот алгоритм выстрела я описать не смог


Да что там описывать то? ;)

В событии выстрела создаёшь объект пульки в координатах оружия. Если платформер - задаёшь направление и скорость по x-координате, если TDS - посылаешь патрон в сторону мышки или угла поворота персонажа. :)


Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 12.03.11 15:29. Заголовок: Всем спасибо, разобр..


Всем спасибо, разобрался! :)

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 12.03.11 16:24. Заголовок: Здесь я все же хочу ..


Здесь я все же хочу остановиться подробнее:
D(e)N пишет:

 цитата:
1 - персонаж стоит, 2 - анимация выстрела. Когда игрок нажимает кнопку меняем спрайт на 2, а когда заканчивается его анимация меняем обратно на 1.

.

У меня на клавишу Space (событие Keyboard, а не key press и не key release) идет замена спрайта, но проблема в том, что отображается один кадр из спрайта если я нажму быстро.

Спасибо: 0 
Цитата Ответить





Пост N: 463
Зарегистрирован: 09.07.07
Откуда: Россия, Подмосковье
ссылка на сообщение  Отправлено: 12.03.11 18:34. Заголовок: Volotar Может попро..


Volotar
Может попробовать сделать максимальный интервал между выстрелами? Как раз пока анимация не закончится. Я уже гамак давно не использовал, но что если например сделать условие:
Проверка при выстреле:
Если у персонажа не спрайт выстрела, то... (а там уже типа поменять спрайт на спрайт выстрела, создать пулю или как там у тебя)

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 14.03.11 09:58. Заголовок: Вопрос с выстрелом к..


Вопрос с выстрелом как бы решен.
Помогите еще в одном вопросе.
Спрайт состоит из нескольких рисунков, как удалить спрайт или объект после отображения последнего изображения?

Спасибо: 0 
Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 14.03.11 15:53. Заголовок: igrodel пишет: Я уж..


igrodel пишет:

 цитата:
Я уже гамак давно не использовал,


Какую программу Вы используете и пишите вообще игры ?

Спасибо: 0 
Цитата Ответить
New Art Games
дизайнер, сценарист




Пост N: 2584
Зарегистрирован: 19.09.05
Откуда: Россия

Награды: Мега GameCreator со стажем!
ссылка на сообщение  Отправлено: 14.03.11 16:13. Заголовок: Volotar пишет: Спра..


Volotar пишет:

 цитата:
Спрайт состоит из нескольких рисунков, как удалить спрайт или объект после отображения последнего изображения?


если гамак то:
1 - в евентах объекта есть событие завершение анимации. перетащите туда кнопку дестрой.
2 - if(sprite_index == image_number)instance_destroy(); в степе объекта

Hi! I'm Joe / John / Jane / etc and I have this great idea: let's combine WOW and Quake7 into a single game! I am looking for 5 programmers, 3 modelers, 3 concept artists, 10 level designers and 4 musicians. We will create a killer, next generation MMORPG and we will split the profits (I'll get over 51%, of course)
©AUM 86
Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 15.03.11 13:32. Заголовок: Ev-genius прямо в 10..


Ev-genius прямо в 10! Спасибо!
На счет события "завершение анимации" незаметил.
Реализовывал в объэкте событие "шаг" с кодом :
if my_object.sprite_index == 12
{
instance_destroy();
}

Так работало при объете "Взрыв", а вот объет "враг" должен был замениться на умирающего и удалиться потом, а это фрагмент кода не срабатывал (либо 2 раза повторял анимацию умирания врага, либо вообще моментально исчезал, конечно дописывался и изменялся код, но конечного результата не мог добиться).

Спасибо: 0 
Цитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет