Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > FAQ

FAQ Туториалы и часто задаваемые вопросы

Закрытая тема
 
Опции темы
Старый 30.03.2009, 01:50   #1
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
GIF & DrawMovie

По просьбе трудящихся привожу вариант адекватной реализации указания из хелпа:
For animated GIFs, the DrawMovie command simply draws the next frame of the animation each time it is called, so you need to manage your animation timing manually.
;sample gif-animation
;code: impersonalis, icq 11-999-51-51
;
;GIF: Носферату, поднимающийся по лестнице. Сцена из фильма Носферату. Вячеслав Ошурков. 1922 год. 
;(http://ru.wikipedia.org/wiki/Файл:NosferatuVCD_338_0060.gif)
;

;ставим графический режим
Graphics 800,600,32,2
;выбираем задний буфер
SetBuffer BackBuffer()

;грузим мувик
Local MOVIE=OpenMovie("Nosferatu.GIF")
;устанавливаем дефолтную межкадровую задержку в мс
Local GifPause=100;ms
;картинка для хранения текущего кадра (по размерам мувика)
Local OneFrame%=CreateImage(MovieWidth(MOVIE),MovieHeight(MOVIE))
;время последнего апдейта
Local StartTime%=MilliSecs()

;ставим точку вывода картинки в её середину
MidHandle OneFrame

;цикл отрисовки и обработки
While Not KeyHit(1)

	;numpad+ скорость растёт (задержка падает)
	;частный случай: 0 и отрицательные числа - задержки нет = тест производительности ПК
	If KeyHit(78) GifPause=GifPause-25
	;numpad- скорость падает
	If KeyHit(74) GifPause=GifPause+25

	;нужно ли поменять кадр?
	If MilliSecs()-StartTime>=GifPause
		;открываем буфер кадра
		SetBuffer ImageBuffer(OneFrame)
			;рисуем кадр через DrawMovie
			DrawMovie MOVIE
		;закрываем буфер, выбрав задний
		SetBuffer BackBuffer()
		;меняем время перелистывания кадра
		StartTime=MilliSecs()
	EndIf
	;рисуем кадр
	DrawImage OneFrame,GraphicsWidth()/2,GraphicsHeight()/2
	AppTitle GifPause+" ms."
	Flip
Wend
;убирай за собой!
CloseMovie(MOVIE)
FreeImage OneFrame
;66
End
Вложения
Тип файла: zip GifSample.zip (1.38 Мб, 675 просмотров)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Эти 7 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
ABTOMAT (30.03.2009), avel (30.03.2009), Clip (23.10.2011), h1dd3n (30.03.2009), HolyDel (30.03.2009), Nex (30.03.2009), Tadeus (30.03.2009)
Старый 30.03.2009, 10:27   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: GIF & DrawMovie

Хочу лишь отметить что в gif файле может быть задана пауза каждому кадру своя, в этом случае блитз не сможет воспроизвести адекватную анимацию.
__________________
(Offline)
 
Эти 3 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
avel (30.03.2009), h1dd3n (30.03.2009), impersonalis (30.03.2009)
Старый 30.03.2009, 15:06   #3
avel
Бывалый
 
Аватар для avel
 
Регистрация: 12.10.2006
Сообщений: 737
Написано 131 полезных сообщений
(для 452 пользователей)
Ответ: GIF & DrawMovie

угу. вот у меня как раз разные паузы... прийдется видимо переконвертить во что-то...
(Offline)
 
Старый 30.03.2009, 15:10   #4
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: GIF & DrawMovie

помоему самый большой минус gif-анимации - это то, что там всего 256 цветов. маловато для современных видеовставок имхо.
(Offline)
 
Эти 2 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
ABTOMAT (30.03.2009), h1dd3n (30.03.2009)
Старый 23.10.2011, 03:20   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: GIF & DrawMovie

Кстати: никто так и не сподобился написать функцию, получающую из файла количество кадров и паузу между ними?
http://www.martinreddy.net/gfx/2d-hi.html
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Старый 23.10.2011, 14:38   #6
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: GIF & DrawMovie

Дак gif не нужен. В нём нет так нужного в последнее время альфа канала.
Для олдскульных ремейков может и прокатит, но для "новых" проектов нет.
Да и вообще сам формат гиф специфичен. Не охота время терять.
Я даже в Web страницах им пренебрегаю (порой даже напрасно)
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Online)
 
Эти 3 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
ABTOMAT (23.10.2011), ffinder (29.10.2011), moka (29.10.2011)
Старый 23.10.2011, 16:02   #7
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: GIF & DrawMovie

под виндой нужно пользоваться .dds (быстрая загрузка, возможность сжатия и более быстрого рендеринга) и хранить кадры в текстурных атласах.
(Offline)
 
Старый 23.10.2011, 16:20   #8
L.D.M.T.
Бывалый
 
Аватар для L.D.M.T.
 
Регистрация: 10.06.2006
Сообщений: 808
Написано 354 полезных сообщений
(для 832 пользователей)
Ответ: GIF & DrawMovie

http://blitzbasic.com/codearcs/codearcs.php?code=2207
__________________
Per Aspera Ad Astra...
(Offline)
 
Сообщение было полезно следующим пользователям:
impersonalis (23.10.2011)
Старый 23.10.2011, 17:01   #9
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: GIF & DrawMovie

Сообщение от Randomize Посмотреть сообщение
Дак gif не нужен.
Жаль что гиф из твоей аватары об этом не знает
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Старый 23.10.2011, 17:31   #10
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: GIF & DrawMovie

Сообщение от impersonalis Посмотреть сообщение
Жаль что гиф из твоей аватары об этом не знает
Аватар Рандома, здравствуйте! Это Аватар Автомата вас беспокоит. Да, хорошо, спасибо. Я вот почему звоню: вы наверное, не в курсе, но gif не нужен. Да, именно так. Всё, до свидания.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Сообщение было полезно следующим пользователям:
Colossus (23.10.2011)
Старый 23.10.2011, 17:41   #11
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: GIF & DrawMovie

Кстати: никто так и не сподобился написать функцию, получающую из файла количество кадров и паузу между ними?
На PHP делал. Ради интереса даже LZW сжатие пытался реализовать, но почему-то у меня на выходе получалось что-то левое и гифка не открывалась, наверно какой-то не такой алгоритм LZW запилил или ошибка где-то была. В общем забил на это дело временно. А потом вообще забил. Я типа делал АПИ для собирания и редактирования анимаций. В принципе разбирал и собирал контейнер удачно. Просто сжатие хотел реализовать, чтобы возможно было использовать глобальную палитру вроде. Если локальная устраивает, то можно было из нескольких gif-ок собирать одну с указанием паузы между кадрами, прозрачности и флага очистки экрана.
(Offline)
 
Старый 23.10.2011, 17:50   #12
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: GIF & DrawMovie

Сообщение от ABTOMAT Посмотреть сообщение
Аватар Рандома, здравствуйте! Это Аватар Автомата вас беспокоит. Да, хорошо, спасибо. Я вот почему звоню: вы наверное, не в курсе, но gif не нужен. Да, именно так. Всё, до свидания.
Дак что же альтернатива (вне игр)?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Старый 23.10.2011, 18:21   #13
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: GIF & DrawMovie

Сообщение от impersonalis Посмотреть сообщение
Дак что же альтернатива (вне игр)?
CSS спрайты.

Но для йоба графики типо смайлов и авиков покатит и гиф.
Скажем так: "Гиф нужен там где не серьёзно."
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Online)
 
Сообщение было полезно следующим пользователям:
impersonalis (23.10.2011)
Старый 23.10.2011, 18:45   #14
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: GIF & DrawMovie

ау, посоны, мы вроде бы в разделе про Blitz3D, не?
про какие аватары вообще речь?
(Offline)
 
Эти 3 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
L-ee-X (23.10.2011), Nex (23.10.2011), Phantom (23.10.2011)
Старый 23.10.2011, 19:02   #15
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: GIF & DrawMovie

Сообщение от ffinder Посмотреть сообщение
ау, посоны, мы вроде бы в разделе про Blitz3D, не?
про какие аватары вообще речь?
Это да, но в широком аспекте вопрос тоже интересует.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Закрытая тема


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 14:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com