![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
2D в Direct3D8 [Delphi, Windows]
falc0n © (2004-01-13 21:29:00)Я недавно начал делать 2D аркаду(платформер) на DirectDraw, но понадобился поворот спрайта, прозрачность и пришлось переходить на D3D. Но если по DirectDraw я нашел кучу статей, то по 2D графике в Direct3D ничего не было. Единственное что нашел - коротенькая статья тов. Виктора Коды с примером. В этом примере рисовалось две картинки, одна из них двигалась. Причем спрайт(тип ID3DXSprite) был один, а на него функцией <спрайт>.Draw выводились текстуры (тип IDirect3DTexture8). В игре я делал также. У меня один спрайт, на который я вывожу текстуры итемов, игрока и др. А вот сейчас думаю, а может это все неправильно ? Может надо создавать отдельный спрайт для каждой текстуры ? или создать несколько спрайтов, отдельно для итемов, игроков, уровня и бэкграунда ?
Причем мне надо будет просчитывать столкновения попиксельно, а для этого надо получить прямой доступ к текстурам (ну или спрайтам). Не подскажете, как это сделать ? И еще, как вывести текст на экран средствами D3D ? Только не предлагайте мне для всего этого использовать DelphiX, PowerDraw, или еще что-нибудь.
А, вот еще вопрос, чуть не забыл. Допустим, надо мне создать в игре плоскость (по которой игрок бегать будет) размером 32x128, для её заполнения есть текстура, размером 16x16. Как заполнить всю плоскость тектурой ? Если плоскость _НЕ_ спрайт, то можно выводить тектуры последовательно, ну а если это все-таки спрайт ?
Thor (2004-01-13 22:10:00) [1]есть книга Краснова "DirectX Графика в проектах Delphi". там приводятся случаи как 2D так и 3D.