Как сделать анимацию спрайта?

Как сделать анимацию спрайта?
Как сделать анимацию спрайта?

Незарегистрированный

РегистрацияСправкаКалендарь
Ответ

 

 

Старый 09.04.2007, 15:00   #1

dimanche13

Мастер

 

Регистрация: 19.03.2007

Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)

Как сделать анимацию спрайта?

Возможно этот вопрос поднимался. И невозможно, а точно! Хотелось бы посмотреть на реализацию через БлитцМакс. Ссылки, примеры и ваши наработки. В крайнем случае принципы работы.

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемdimanche13

 

Старый 09.04.2007, 15:05   #2

johnk

Легенда

 

Регистрация: 01.10.2006

Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)

Мою гаму видел?
Если нет, то в подписи сайт, смотри на здоровье! Кста тама есть переведенная часть хелпа, там то, что именно тебе нужно.

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированием

 

Старый 10.04.2007, 08:15   #3

dimanche13

Мастер

 

Регистрация: 19.03.2007

Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)

Re: Как сделать анимацию спрайта?

Зарегился у тебя на сайте. Скачал хелп к мах2д - там не нашел что мне нужно... и игры твоей не нашел. Дай ссылки прямые, чтоли...

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемdimanche13

 

Старый 10.04.2007, 10:28   #4

johnk

Легенда

 

Регистрация: 01.10.2006

Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)

Re: Как сделать анимацию спрайта?

Ну в хелпе смотри как сделать, т.е. команды LoadAnimImage и DrawImage, а реализация есть тут.

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированием

 

Старый 10.04.2007, 10:54   #5

johnk

Легенда

 

Регистрация: 01.10.2006

Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)

Re: Как сделать анимацию спрайта?

А если тебе код нужен, то вот так там делается:
ExplImage:TImage=LoadAnimImage ("incbin::images.bmp",128,128,0,24) - гружу картинку
Далее в типе взрыва делаю функцию и метод
Function Create(x#,y#)
Local c:Explosion=New Explosion
c.x#=x#
c.y#=y#
c.frame=0
ListAddLast (ExpList,c)
End Function
Method update()
If frame<=23
SetScale 0.5,0.5
DrawImage explimage,x,y,frame
SetScale 1,1
Else
ListRemove(ExpList,Self)
End If
frame:+1
End Method
А потом использую в цикле
Explosion.Create(a.GetX(),a.GetY())
For Local vzriv:Explosion=EachIn ExpList
vzriv.update
Next

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированием

 

Старый 10.04.2007, 11:02   #6

dimanche13

Мастер

 

Регистрация: 19.03.2007

Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)

Re: Как сделать анимацию спрайта?

Ссылка на "spacer" ? я не заметил там никакой анимации... А что использовать надо команды LoadAnimImage и DrawImage это я и так знал... Хотя нашел у тебя статейку "Сто одно Изображение" сейчас вникаю...

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемdimanche13

 

Старый 10.04.2007, 11:05   #7

johnk

Легенда

 

Регистрация: 01.10.2006

Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)

Re: Как сделать анимацию спрайта?

"я не заметил там никакой анимации... "
- а взрыв?

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированием

 

Старый 10.04.2007, 12:07   #8

dimanche13

Мастер

 

Регистрация: 19.03.2007

Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)

Re: Как сделать анимацию спрайта?

Ой да точно взрывы есть! А то я один раз стрельнул да и не попал нив кого. Вырубил. Ок. Ща попробую, спасибо!

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемdimanche13

 

Старый 10.04.2007, 12:40   #9

johnk

Легенда

 

Регистрация: 01.10.2006

Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)

Re: Как сделать анимацию спрайта?

Кстати, dimanche13 в 5 посте, я написал как это сделать (Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированием

 

Старый 11.04.2007, 09:03   #10

dimanche13

Мастер

 

Регистрация: 19.03.2007

Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)

Re: Как сделать анимацию спрайта?

Спасибо JohnK, но у меня некоторые затруднения, потому что у тебя взрыв - это последовательный набор картинок всех стадий взрыва. Ты их перебираешь и если кончились фреймы удаляешь. У меня Бомберман . Есть картинка с какого-то сайта стадии его движения вверх ,вниз и т.д. Но когда бомберчел движется вверх надо показать как он перебирает ногами, вправо то же самое и во все стороны. То есть не перебор картинок от начала до конца а по-другому... вот.

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемdimanche13

 

Старый 11.04.2007, 10:01   #11

johnk

Легенда

 

Регистрация: 01.10.2006

Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)

Re: Как сделать анимацию спрайта?

Если это отдельные картинки то немного легче. Делается так: vniz=loadanimimage("vniz.bmp".....и пошло поехало) If keydown(KEY_DOWN) Ты должен проверить какой кадр, что бы не было ошибок. Допустим у тебя 5 кадров тогда if frame<=4 (4 потому что отсчет идет с 0) Потом просто рисуешь картинку drawimage vniz,x,y,frame а если пошел 6 кадр, то вернуть его на первый (а точнее нулевой) Else frame=0 endif увеличиваешь кадр Frame:+1 endif (Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированием

 

Старый 11.04.2007, 11:52   #12

dimanche13

Мастер

 

Регистрация: 19.03.2007

Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)

Re: Как сделать анимацию спрайта?

Да надо уже хоть что-нибудь попробовать. У самого парочка мыслей есть на этот счет и тебе спасибо, JohnK. Вот попробую выложу что получилось! или не получилось...

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемdimanche13

 

Старый 12.04.2007, 19:29   #13

dimanche13

Мастер

 

Регистрация: 19.03.2007

Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)

Re: Как сделать анимацию спрайта?

У меня какая-то фигня получается. Да я шагаю вверх и персонаж машет ногами (простите мой русский язык)то есть вроде идет, но при отпускании кнопки может остановиться с занесеной для шага ногой, то есть движение не завершается а кнопка отпущена.

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемdimanche13

 

Старый 12.04.2007, 21:58   #14

alcoSHoLiK

Дэвелопер

 

Регистрация: 17.01.2006

Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)

Re: Как сделать анимацию спрайта?

Обнуляй кадр.
Другой вариант - устанавливать переменную состояния. Псевдокод:
If keypressed Then animate = true ... DrawImage x, y, frame ... If animate Then frame = frame + 1 If frame = max_frames Then animate = false frame = 0 End If End If Тогда анимация будет длится до последнего кадра. (Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемalcoSHoLiK

 

Старый 13.04.2007, 08:20   #15

dimanche13

Мастер

 

Регистрация: 19.03.2007

Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)

Re: Как сделать анимацию спрайта?

Я сделал вот так :
If KeyDown(KEY_UP)
If animate = True
If frame < (3 - 1)
frame :+ 1
Else
frame = 0
animate = False
End If
Else
frame = 0
animate = True
End If
End If
А alcoSHoLiKу вопрос можешь показать на реальном проектк как твой код реализуется, а то у меня не получилось...
А вопрос так и завис в воздухе... может есть у кого-нить ссылка на подобный код...

(Offline) Нажмите, если это сообщение было для вас полезнымОтветить с цитированиемdimanche13 Ответ

« Предыдущая тема | Следующая тема »


Ваши права в разделе

Вы не можете создавать темы

Вы не можете отвечать на сообщения

Вы не можете прикреплять файлы

Вы не можете редактировать сообщения

BB коды Вкл.

Смайлы Вкл.

[IMG] код Вкл.

HTML код Выкл.


Часовой пояс GMT +1, время: 17:54.



vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot


Как сделать анимацию спрайта? 65
Как сделать анимацию из спрайтов в
Как сделать анимацию спрайта? 3
Как делать GIF анимацию в фотошопе
Как сделать анимацию спрайта? 87
Как создать спрайт для unity 3d
Как сделать анимацию спрайта? 51
Как сделать анимацию для
Как сделать анимацию спрайта? 76
AntiHASP : эмулируем ключ аппаратной защиты HASP - «Хакер»
Как сделать анимацию спрайта? 98
«Лестничная педагогика». Оформление коридоров, холлов и лестничных площадок
Как сделать анимацию спрайта? 10
Как сделать анимацию спрайта? 48
Как сделать анимацию спрайта? 1
Как сделать анимацию спрайта? 90
Как сделать анимацию спрайта? 81
Как сделать анимацию спрайта? 24
Как сделать анимацию спрайта? 66
Как сделать анимацию спрайта? 62
Как сделать анимацию спрайта? 20
Как сделать анимацию спрайта? 98