| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Карточная игра |
| Автор: MacTep 23.8.2003, 13:22 |
| Ребята! Помогите! Проблема вот в чем: надо объединить колоду карт (рисованные картинки в формате BMP) в один файл (библиотеку). Сделать это нужно таким образом, чтобы потом из этого файла можно было их считывать. А при необходимости написать (создать) еще одну такую библиотеку карт, чтобы можно было в любой момент пользователю заменить вид карт на другой. Короче, хочу добавить к своей игрушке небольшой аддон, но только пока мыслей, как это сделать нет! Помогите!!! Заранее благодарен! |
| Автор: stab 23.8.2003, 13:41 |
| простейший способ сделать dll и в нее запихать как ресурсы твои картинки, а потом их из dll загружать при помощи TBitmap.LoadFromResourceName |
| Автор: December 23.8.2003, 15:46 |
| Если карты фиксированной высоты/ширины, то просто слей их одну за другой в столбик в один бмп, и считывай потом фрагментами. |
| Автор: MacTep 5.9.2003, 10:48 |
| Вопрос для cully: ты вот написал, мол, создай dll и в него запихай свои картинки. А вот это и самый интересный вопрос: как это сделать? Как создать DLL? как запихать в него картинки, как потом их из него считывать. Ответьте пожалуйста!!! |
| Автор: x77 5.9.2003, 11:19 | ||
2 Cully: не глумись над человеком, LoadFromResourceName подгружает не из dll-ки, а из ресурса:
2 МасТер: но в одном Cully прав: использование вышеозначенной функции - простейший путь. в ImageEditor создаёшь ресурс, забиваешь в него свои bmp-ки, цепляешь ресурс к экзешнику, а потом загружаешь из него картинки, скажем, в ImageList. |
| Автор: x77 5.9.2003, 11:30 |
| упс... менять колоды таким образом не получится, надо будет писать ещё и редактор ресурсов, что возможно, но простейшим не является. сорри, я просмотрел про смену колод. присоединяюсь к December'у. |
| Автор: beif 5.9.2003, 12:15 |
| Да зачем DLL делать? Просто создавать большой .bmp. Например у тебя 36 карт, размером h на w, так создаешь большой bmp-ресурс размером скажем 4*h на 9*w, и вносишь туда рисунки карт по мастям в строку. Так создаешь несколько bmp-шек и все, а в процессе игры выбираешь из какого файла грузить рисунки |
| Автор: x77 5.9.2003, 13:18 |
| о чём и написал December |
| Автор: beif 5.9.2003, 13:47 |
| да |
| Автор: stab 6.9.2003, 14:33 | ||||||||||
| как делать dll с ресурсами: 1. Запускаем Delphi. (У меня Delphi 6) 2. File -> New -> Other -> DLL Wizard 3. Удаляем:
остается:
4. Деляем Save All в папку, скажем, RES DLL. 5. Нажимаем Ctrl+F9. 6. В папке RES DLL находим файл с расширением *.res. (У меня project2.res.) Это ресурсы которые будут включены в библиотеку. На данный момент там только иконка, которая не понять зачем нужна... 7. Ищем какой-нить редактор ресурсов. Я использую втсроеный в Visual Studio. Если VS нет, то на диске с Delphi обычно есть папка Workshop, там борландовый редактор ресурсов -- кривой до ужаса. 8. Открываем project2.res в редакторе ресурсов. Видим, что иконка есть 9. Запоминаем цифирку которая стоит рядом с добавленой картинкой -- это идентификатор ресурса. 10. Сохраняем и зыкрываем редактор ресурсов. 11. В Delphi делаем Project -> Build ProjcetX 12. Закрываем проект. как использовать dll с ресурсами: 1. Скопируем полученную dll в папку проекта, который должен использовать картинку из dll. 2. В проекте делаем так:
з.ы. подразумевается, что каждая карта будет отдельным ресурсом тогда загрузка примерно так будет выглядеть:
|
| Автор: beif 6.9.2003, 18:11 |
| cully круто!!! Это вам не это.... ДА! Я просто поражен твоим ответом!!! Настолько побробно и исчерпывающе, что тут и дополнительных вопросов не задашь и ни к чему не прикопаешься... Побольше бы таких ответов |
| Автор: MacTep 10.9.2003, 16:38 |
| Спасибо, ребята! Вы мне очень помогли! Я обязательно сделаю так, как вы просили! Спасибо! Cully, ты просто супер! Надеюсь, все получится! |