Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
бобомен   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
1-1103032756
mega
2004-12-14 16:59
2004.12.26
раскрытие MenuItem


4-1100460284
now_aleks
2004-11-14 22:24
2004.12.26
Как открыть окно с выбранным файлом.


14-1102069112
_}|{yk_
2004-12-03 13:18
2004.12.26
Взгяд на РуНет


3-1101757521
Hmm
2004-11-29 22:45
2004.12.26
Нужен пример работы с транзакциями.


14-1102458363
KilkennyCat
2004-12-08 01:26
2004.12.26
Компания "ЭСК" полностью завершила процесс госрегистрации.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский