Андре Ламот "Программирование игр для Windows" (примеры)
| Lazer | Постоялец | www | 4 дек. 2008 | 0:27 | #0 |
|---|
Решил откомпилировать код примера из книги Андре Ламот "Программирование игр для Windows". После исправления мелких ошибок с приведением типа получил код(см. ниже). Смысл в том что отображается bmp файл. При запуске выскакивает ошибка. Вопрос такой, я считаю проблема с загрузкой bmp, должен ли он быть явно включён в проект ( в source files), нужно ли файлы дублировать в соответствующие папки debug/release?
заранее спасибо, только начинаю изучать DDraw.
ссылка на файл(cpp):
http://www.gamedev.ru/download/?id=8102
код ошибки:
http://i47.photobucket.com/albums/f183/darkplastic85/brox.jpg
Правка: 4 дек. 2008 0:54
| Igor' | Постоялец | www | 4 дек. 2008 | 0:30 | #1 |
|---|
Правка: 4 дек. 2008 0:30
| Igor' | Постоялец | www | 4 дек. 2008 | 0:52 | #3 |
|---|
| Breezy | Постоялец | www | 4 дек. 2008 | 1:55 | #4 |
|---|
пройдись пошагово по програме(в дебаге) F5 и посмотри что у тебя в переменных.
F9 брейкпоинт
F10/F11 шаг...
А Novartis Games таки прав Лямота можно читать в обучающих целях )
| Zakus | Постоялец | www | 4 дек. 2008 | 3:55 | #5 |
|---|
имхо в обучающих целях лучше почитать теорию по комп графике, и подучить геометрию)))
directidraw уже сто лет как деприкейтед))) нада брать литературу посвежее)
ну во всяком случае, не стоит сильно парится с этими примерами, главное понять суть, ковырять лучше уже d3d
Правка: 4 дек. 2008 3:58
| Lazer | Постоялец | www | 4 дек. 2008 | 5:22 | #6 |
|---|
1) Ламот "Программирование трёхмерных игр для Windows"
2)МакКаски "звук в играх"
3)Адамс "DirectX: продвинутая анимация"
4)Снук "3Д-ландшафта"
Если знаете что-нибудь из того что не указал - скажите).
а чем DirectDraw так плох? по-мойму для 2D-игр достаточно функционален.
| WhiteWolf | Удалён | www | 4 дек. 2008 | 8:12 | #7 |
|---|
Перевод не идеален, но эта книга о D3D - на Озоне 250 р.
А лучше эту:
Frank D. Luna
Introduction to 3D Game Programming with DirectX 9.0
На Озоне за 900 р.
Снука лучше читать после этих книг.
| soflot | Постоялец | www | 4 дек. 2008 | 9:15 | #8 |
|---|
Direct-мамонт-Draw... мммм, вкуснятина! :-) чуствую себя в ДОС-е :-)
Lazer
Попробую помочь, если надо помощь. Ламот у меня кстати бумажный есть.
Судя по
>OpenFile(filename,&file_data,OF_READ))
и
>if (!Load_Bitmap_File(&bitmap,"bitmap24.bmp"))
файл-картинка читается не из ресурсов, а с диска. Может попробуй задать полный путь, типа "c:\\folder\\bitmap24.bmp", хотя это скорее всего не причина ошибки.
Если очень интересно, могу сделать и дать исходник - как бы я читал и отображал БМП на Direct-мамонт-Draw (DirectDraw) если бы мне надо было.
| Lazer | Постоялец | www | 4 дек. 2008 | 10:02 | #9 |
|---|
Как я понял суть в том, что надо заменить OpenFile, _lread, _lclose, and _lseek на fopen, fread, fclose and fseek. А также "write to a back buffer and then flip it". В этом посте есть собственно отредактированные исходники
(ссылка топика на форуме: http://www.xgamestation.com/phpbb/viewtopic.php?p=6616&sid=457ce2… 097830ca35f94).
WhiteWolf, спасибо за перечень книг, обязательно куплю при возможности. Начинать что-то новое всегда сложно, особенно когда не знаешь что именно при таком быстром развитии технологий.
| Zakus | Постоялец | www | 4 дек. 2008 | 11:37 | #10 |
|---|
>а чем DirectDraw так плох? по-мойму для 2D-игр достаточно функционален.
он давно уже без поддержки, мс его свернула, для 2д игр юзают сейчас D3D,
он просто не актуален, смысл его учить, только - для общего развития
Правка: 4 дек. 2008 11:38
| concialed | Постоялец | www | 7 янв. 2009 | 8:38 | #11 |
|---|
Зато в 2D восхитительная прорисовка спрайтов. В 3D они часто замыливаются либо видна блочность текстур.
| kloun | Постоялец | www | 7 янв. 2009 | 11:20 | #12 |
|---|
если я правильно понял про книгу которую ты говоришь - то не слушай никого - читай!!! Очень хорошая книга. и суть этой книги вовсе не в изучении DirectDraw, а в постижении многих ньюансов и деталей трехмерного рендера.
на на счет ошибки ищи ее в файле lseek.c на строке 66 =))
| Lazer | Постоялец | www | 7 янв. 2009 | 11:42 | #13 |
|---|
Да. Смогли меня отговорить начать с неё начинать осваивать DirectX :)
concialed
надо же, не знал.
| ValLer | Постоялец | www | 7 янв. 2009 | 12:41 | #14 |
|---|
Я, например, сначала не стал глубоко вникать в устройство DDraw, DSound со всеми этими низкоуровневыми операциями, а начал программировать на основе построенных Андре Ламотом так называемых библиотек T3D. Есть несколько незаконченных игр на основе этих библиотек )) Но к сожалению закончить их мне не суждено, ибо код - куча с непонятными моими махинациями, графика перемемешана с физикой звуком... Наличие небольших комментариев не решает проблему. Но это только моя заслуга :)
concialed - если рисовать в том же масштабе что и исходная картинка, то ничего не замылится ))
В D3D намного проще реализовать различные эффекты с цветом, поворот картинки, масштабирование с интерполяцией... Но книга "Программирование игр для Windows" не только про DDraw, хотя он занимает в ней солидную часть.
Итог: книгу читать обязательно!
/ Форум / Программирование игр / 2D графика и изометрия
