Главная страница
    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.033 c
14-1101764522
Knight
2004-11-30 00:42
2004.12.26
Москвичи, кто слышал фамилию Трюховецкий?


4-1099994934
Aleksandr.
2004-11-09 13:08
2004.12.26
Как по хуку клавиатуры получить русские буквы?


6-1095686893
maxistent
2004-09-20 17:28
2004.12.26
TServerSocket в консольном приложении (типа, без форм)


3-1101984331
svv
2004-12-02 13:45
2004.12.26
Как сделать чтобы в DBGrid не отображалась смена текущей записи.


3-1101909738
denis24
2004-12-01 17:02
2004.12.26
обнуление поля счетчик в таблице *.mdb





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский