2D game

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

2D game

Сообщение Dex » 17.11.2004 (Ср) 14:38

Вообщем я и ещё челы(которые круто рисуют) начили писать игру типа
2D аркады(вид как в Cold Zero) вот. :) Ну я подключил DirectX и всё
сделал но тут проблемавозникает как мне графику загружать чо использовать ImageBox и PictureBox или какие-то средства есть помогите определится!!! :P

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 17.11.2004 (Ср) 22:48

Для 2D аркады можно обойтись и без DirectX-а и для графики использовать мизирные по размеру JPG-шки.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.11.2004 (Ср) 23:37

Не совсем согласен. На слабых компах даже простенькая аркада с 100-200 полигонами (спрайтами) в кадре может неслабо тормозить (через BitBtl сотоварищи)...

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 17.11.2004 (Ср) 23:47

Amed, Согласен с тобой полностью.
Но для такой цели, я бы в любом случае DX не использовал бы.
Если писать Heroes of Might&Magic или Jagged Alliance, или RedAlert(StartCraft) чистым BitBlt-ом уверен тормоза не будут существенны и на средних конфигурациях.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.11.2004 (Ср) 23:53

Возможно, HOMM1/2 или JA1 у меня не будут тормозить, но HOMM3 с JA2 будут сильно тормозить, будучи написанными с bitblt. Уверяю. У меня слабый комп ;-)

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 17.11.2004 (Ср) 23:57

Простите за выражение, но по-моему bitblt-у по х*й, как рисовать... изометрически или с видом "сверху". Это я относительно разницы "HOMM1/2, JA1" и "HOMM3 и JA2".

Dex
Постоялец
Постоялец
 
Сообщения: 346
Зарегистрирован: 09.08.2004 (Пн) 16:11

Сообщение Dex » 18.11.2004 (Чт) 16:55

А может обьясните мне как использовать этот BitBtl :shock:

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 19.11.2004 (Пт) 22:31

Вызываешь API функцию BitBlt, которая рисует на обьекте (по указанному тобою Hwnd) рисунок (с указанного тобой Hwnd).
Быстро, учитывает прозрачность.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.11.2004 (Пт) 22:36

BitBlt - учитывает прозрачность? :-?
Изображение

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 20.11.2004 (Сб) 18:45

Kerish, BitBlt не учитывает прозрачность :)

А насчёт HOMM3 и JA2 я сказал потому, что там просто гораздо больше спрайтов одновременно на экране...

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 22.11.2004 (Пн) 10:39

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Private Const MERGEPAINT = &HBB0226
Private Const SRCAND = &H8800C6

Далее имеем 2 рисунка, например машины.
Первый оригинальный, вотрой маска (черный контур на белом фоне).

Затем вызываем BitBlt...

BitBlt ТамГдеРисуем.hDC, ПоложениеX, ПоложениеY, Ширина, Высота, ТоЧтоРисуем.hDC, 0, 0, MERGEPAINT

BitBlt ТамГдеРисуем.hDC, ПоложениеX, ПоложениеY, Ширина, Высота, ТоЧтоРисуем.hDC, 0, 0, SRCAND

Всё, у нас прозрачная машина.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 24.11.2004 (Ср) 8:46

|kerish| писал(а):Amed, Согласен с тобой полностью.
Но для такой цели, я бы в любом случае DX не использовал бы.
Если писать Heroes of Might&Magic или Jagged Alliance, или RedAlert(StartCraft) чистым BitBlt-ом уверен тормоза не будут существенны и на средних конфигурациях.

Я вот писал такую игру, и что - где-то работает, где-то тормозит(много спрайтов на экране) сейчас для таких целей юзаю DirectX->DirectDraw.
الفيجوال بيسك الرابح


Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 57

    TopList