Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Вниз

Пара вопросов по DelphiX   Найти похожие ветки 

 
DanilinSA   (2004-05-24 14:14) [0]

Помогите решить пару вопросов:
1) В игровом проекте много ресурсов в виде картинок. Хранить в виде файлов - неудобно, хранить в DXImageList - страшно растет размер EXE файла. Так-как планируеться частая смена версий во время тестирования то не хочеться заставлять людей гонять неизменную графику по Инету.
Вопрос: Как хранить (если это можно) всю графику в DLL или отдельным файле ресурсов и при загрузке перегонять её в DXImageList?
2) Как из картинке в DXImageList вырезать фрагмент и нарисовать его на DXDraw.Surface (обычно пользуюсь Draw, но он копирует всю картинку). Это не периодический фрагмент в виде набора кадров!


 
DanilinSA   (2004-05-24 16:52) [1]

Второй вопрос снимаеттся. Разобрался. Использовал конструкцию типа
MainForm.DXDraw.Surface.Draw(510, 404, KlastRound,  MainForm.DXDialog.Items.Find("Rowgrid").PatternSurfaces[0], false);


 
Thor ©   (2004-05-24 17:16) [2]


> DanilinSA   (24.05.04 14:14)  

посмотри на DelphiGFX примеры хранения графики в архивах.
инфы по этой теме в нете - туева хуча.
поищи!


 
kas-t   (2004-05-24 17:27) [3]

1) А ты не пробывал делать так:

DXImageList.LoadFromFile("graphicsdata.dxg");
DXImageList.SaveToFile("graphicsdata.dxg");

Можно написать небольшой редактор редактирующий библиотеки картинок.

2) Тоже велосипед... В свойствах картинки в библиотеке DXImageList ставь PattenHeight и PattenWidth - высота и размер необходимого куска. А дальше эти куски получай так: DXImageList.items.Find("sprite1").Draw(DXDraw1.surface,x,y,ani); где Ani - это номер нужного тебе куска.


 
DanilinSA   (2004-05-26 09:45) [4]

для kas-t:
1) Собственно к этому я и склоняюсь. При инициализации игры она будет извлекать DXG файл из ZIP архива и грузить его в DXImageList.
2) Мне не удалось резать картинку "на ходу" изменяя PattenHeight и PattenWidth !!! Причина неизвестна, но возможно нарезна происходит на этапе компиляции и при работе программы невозможна.
Я писал "Это не периодический фрагмент в виде набора кадров!" У меня в один BMP свалены иконки 16*16, 32*32 , 16*21 и т.д.  Поэтому проще воспользоваться методами Surface для копирования фрагмента.


 
WinPopka   (2004-05-26 16:35) [5]

DanilinSA
А не поделишься знанием?: как из zip`a брать бампшки и грузить в dximagelist?


 
Ork   (2004-05-26 18:25) [6]

редактор DXG файлов грузи с http://daddy.mirgames.ru


 
WinPopka   (2004-05-26 19:18) [7]

это ты мне? какой такой редактор?


 
DanilinSA   (2004-05-27 10:05) [8]

для WinPopka:
1) На этапе отладки программы загоняешь все BMP в dximagelist.
2) После завершения отладки нажимаешь на dximagelist правой кнопкой и даешь команду: "Save...". Сохраняешь содержимое в DXG файле.
3) Пакуешь все DXG в ZIP формат.
4) Подключаешь к программе компонент или модуль для распаковки ZIP файлов.
5) В нужный момент в проге ( при инициализации или нажатии какой - либо кнопки):
 а) Извлекаешь DXG из архива.
 б) dximagelist.Items.LoadFromFile(...);
 в) затираешь уже ненужный DXG

усё


 
WinPopka   (2004-05-29 01:40) [9]

Хмм..а модуля такого у вас нету ?


 
ork   (2004-05-29 11:51) [10]

WinPopka: нет это я DanilinSA"у, специальным редактором работать проще чем имейджлистом.


 
Omar2002   (2004-07-05 13:50) [11]

Когда картинок слишком много вобще советую разбить все на несколько DXG файлов, ну и при выпуске патчей и дополнений это кстати говоря будет удобно - добавил например парочку новых юнитов - заменил один DXG файл и бинарник. А вот еще одно удобное решение проблемы - если у тебя очень много прозрачных частей на спрайтах, то весь DXG файл можно одной программкой ужать - она выкидывает эти самые области, тем самым уменьшая объем файла, правда не всегда хорошо этот процесс закончивается, иногда теряются некоторые области или с цветами глюки, но зато если все сработает - получишь вполне хороший результат. Я в одном из своих проектов ужал DXGшник в полтора раза, а это примерно 300Кб весу.



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1098305234
Артем Владимирович
2004-10-21 00:47
2004.11.07
Программное генерирование html-страницы и отображение в WebBrowse


14-1097815067
MBo
2004-10-15 08:37
2004.11.07
Пятница - время поломать голову над непростыми задачками.


3-1097069063
Rule
2004-10-06 17:24
2004.11.07
Вопрос по хранимой процедуре (FB 1.x + IBX 7.08)


14-1098191610
Uran
2004-10-19 17:13
2004.11.07
Installshields


14-1098281223
XProger
2004-10-20 18:07
2004.11.07
Мастера Delphi - официальный IRC канал сайта www.delphimaster.ru





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский