Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

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

 
бобомен   (2004-08-25 15:43) [0]

Как организовать массив с картинками и вывести в директИКс?, в DelphiX понятно как, там есть контейнер dximagelist, туда закинул графику, а потом в цикле смотришь если клетка такая то туда такой спрайт кидаем (dximagelist[5]. В чистом директе нужно как то прописать все, только одни ошибки, разные типы и прочее, не могу правильно написать все...


 
П7   (2004-08-25 16:51) [1]

Класс одного спрайта (префиксов в объектах DirectX не пишу, т.к. в разных модулях они могут быть разными, да и не помню уже):

TMySprite = class
private
 pDX : PDirectX; // Указатель на объект DirectX ;
                 // В описании типов: PDirectX = ^DirectX;
                 // или как-то так
 X, Y : integer;
 Width, Height : integer;
 Surf : DirectDrawSurface7; // Или как там он называется,
                            // давно под DD не программил
 constructor Create( dx : PDirectX );
 procedure Draw( X, Y : integer );
end;

TMySpriteList = class
 Items : array of TMySprite;
 Count : integer;

 // и т.д.
end;


 
KA_ ©   (2004-08-25 16:57) [2]

>П7   (25.08.04 16:51) [1]
Я бы сделал TMySpriteList наследником TList (или вообще использовал TObjectList) для унификации. А свой класс списка делал бы если очень не хочется подключать Classes.


 
бобомен   (2004-08-25 16:59) [3]

я кстати делаю не под дд а под Direct3D, девятый директ =)


 
бобомен   (2004-08-25 19:33) [4]

TMySprite = class
private
pDX : PDirectX; // Указатель на объект DirectX ;
                // В описании типов: PDirectX = ^DirectX;
                // или как-то так
X, Y : integer;
Width, Height : integer;
Surf : DirectDrawSurface7; // Или как там он называется,
                           // давно под DD не программил
constructor Create( dx : PDirectX );
procedure Draw( X, Y : integer );
end;

TMySpriteList = class
Items : array of TMySprite;
Count : integer;

// и т.д.
end;

----------------
меня как раз интересует и так далее, а эту шляпу я и сам давно написал, вот дальше уже не понятная ситуация


 
ПсихЪ_копия   (2004-08-25 22:18) [5]

Теперь я ничего не понимаю. Задай вопрос покорректней...


 
бобомен   (2004-08-26 09:31) [6]

То что тут написано это под директдро, у меня щас под директ3д пишеться, мнебы понять как создать массив с картинками и из него заполнить поверхность. В директ 9 нету сурфайсов, там просто устройство FDevice3D:IDirect3DDevice; что то типа, нету под рукой делфи щас.


 
П7   (2004-08-26 10:01) [7]

Да какая разница, есть сурвейся или нету. Напиши класс спрайта. Одного, который можно инициализировать, загрузить туда графику и вывести на экран. Далее напиши класс управления динамическим массивом таких спрайтов. Вот и всё. Чтобы понять принцып, не обязательно вдаваться в средство реализации. Я класс спрайтов делал свой и для DelphiX надстройки P7Gfx и для нового движка на OpenGL. Классы почти одинаковые... Так что можешь скачать надстройку с моего сайта (http://tzlab.amillo.net-тормозит) и посмотреть, как там реализован класс спрайтов и класс управления спрайтами. Думаю сможешь разобраться в принципе и сделать свой класс или изменить под свои нужды.
Если сайт будет тупить - давай мыло, я тебе скину двигло.


 
бобомен   (2004-08-26 11:23) [8]

Седьмой Псих закинь на disconnected@nm.ru
Просто проблема в том что в девятом директе графика это текстура, может в этом будет проблема.



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

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
3-1101232909
SergP
2004-11-23 21:01
2004.12.26
DBGridEh. как запретить перемещение столбцов мышью


6-1097632292
tatyana
2004-10-13 05:51
2004.12.26
webbrouser


1-1102668654
msm
2004-12-10 11:50
2004.12.26
Проблема с TDateTime


14-1102493047
Cosinus
2004-12-08 11:04
2004.12.26
Господа сис.админы и пользователи NT-шек. Проблеммы с юникод.


14-1102320197
clickmaker
2004-12-06 11:03
2004.12.26
Логическая задачка для разминки мозгов в начале рабочей недели :)