|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.05.2010, 00:38 | #1 |
Форумчанин
Регистрация: 25.06.2009
Сообщений: 163
|
Ресурсы в игре
Здравствуйте. Возник такой вопрос. Во всех играх, которые я делал, все ресурсы находились в отдельных папках (Images - изображения, Sounds - звуки и т.д.). Но я замечал, что во всех более серьезных играх ресурсы как-то прячутся в файлы типа архивов. Хотелось бы узнать, как это делается, и как это сделать, например, в Delphi.
|
02.05.2010, 14:42 | #2 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
1) Смотря какая игра, если игра навороченая,то придумываются свои форматы.
2) У моделий и текстур свое расширение, у скриптов и конфигов тоже самое. 3)Архив это же и есть список файлов (Моделий,текстур и.т.д) может подерживать жатие. |
02.05.2010, 14:52 | #3 |
Форумчанин
Регистрация: 25.06.2009
Сообщений: 163
|
Тогда вопрос: как создавать свои форматы? Как упрятать в один архив (придуманный мною) картинки, видео, текстовые файлы и т.д. и как к этим файлам потом обращаться?
|
02.05.2010, 15:22 | #4 |
not
Участник клуба
Регистрация: 27.06.2009
Сообщений: 1,399
|
ZotaC
Вот так: 1)Допустим наш архив называется *.LFS Сперва описываем : Код:
3) : Допустим такая структура: ------------------------------- ------------LFS --------------- ------------------------------- СПИСОК 1 Weapon.tex size: 5000 kb offset 0 ------------------------------- СПИСОК 2 Uzi.model size: 3000 kb offset 5000 --------------------------------- САМИ ФАЙЛЫ BIN (Двоичные файлы) --------------------------------- 01010101010101010101010101010 01010101010101010101010101010 01010101010101010101010101010 01010101010101010101010101010 01010101010101010101010101010 01010101010101010101010101010 01010101010101010101010101010 4) Теперь зная содержания файла, считываем списки, зная смешение имя файла и размер загружаем его 5) Таких структур архивов можно придумать кучу главное фантазия и опыт в программировании! |
03.05.2010, 14:33 | #5 |
Форумчанин
Регистрация: 25.06.2009
Сообщений: 163
|
То есть, я так понимаю, что файл LFS - нетипизированный файл, да? В него, в самое начало, записываются все данные о тех файлах, которые в нем хранятся, а далее с помощью процедуры BlockWrite записываются все символы из этих файлов в LFS, в том порядке, в котором они были указаны? Просто копируются символы?
И еще один вопрос. Как производить чтение из такого файла. Допустим, у меня там хранятся картинка и звук. Для того, чтобы нарисовать эту картинку в программе или воспроизвести там звук, надо сначала эти файлы сохранить на диск. А как это сделать, при условии, что пользователь не должен их там найти? |
04.05.2010, 17:39 | #6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Не сохраняй на диск, используй streams. С ООП и потоками это достаточно просто реализуется, в аттаче пример наследника TFileStream с зачатками архиватора. Запись TItemHeader можно расширить до отдельного класса, тогда вместо
Код:
Код:
пыщь
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ресурсы | JeyKip | Win Api | 2 | 11.04.2010 10:26 |
Ресурсы к игре | Xanex | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 7 | 19.10.2009 17:23 |
Ресурсы | VladimirVB | Win Api | 3 | 23.08.2009 12:47 |
Ресурсы | W0LF | Общие вопросы Delphi | 1 | 01.08.2009 13:36 |
Ресурсы, зачем нужны ресурсы | Hallo | Обсуждение статей | 0 | 12.12.2006 21:30 |