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

Вниз

TDXImageList   Найти похожие ветки 

 
Green_Templar ©   (2005-03-20 02:41) [0]

Нужно загрузить растр в TDXImageList после запуска программы. Гружу dximagelist1.items[].picture.bitmap.loadfromfile(), но после этого растр всё равно не рисуется dximagelist.items[].draw(). Удалось устранить проблему, добавив строчку dxdraw1.finalize;dxdraw1.initialize; Но ведь это слишком тормозно так делать! Может есть какой другой способ делать рисовабельными картинки, загруженные после запуска программы (после инициализации дхдрова)?


 
kruel   (2005-03-20 15:00) [1]

DXImageList1.Items.Restore


 
Green_Templar ©   (2005-03-20 15:38) [2]

Спасибо огромное, Kruel!
Вот ещё идея появилась: а что если для того, чтобы нарисовать спрайт, использовать не form1.dximagelist1.items[0].draw, а взять адрес p:=@form1.dximagelist1.items[0], а потом p^.draw? Но какой тип должен быть у указателя p? p:^tdximagelist.items ему не нравится, а брать p:^tdximagelist нет толку.


 
Kruel   (2005-03-20 16:06) [3]

А зачем через адреса? Я так понимаю, нужна просто именованная ссылка на tdximagelist.item, чтоб его нарисовать. Укажи какой класс через TPictureCollectionItem():

var p:Pointer;
...
p:=form1.dximagelist1.items[0]
TPictureCollectionItem(p).Draw(DXDraw.Surface,0,0,0);


 
Green_Templar ©   (2005-03-20 21:09) [4]

Вообще-то нужно нарисовать спрайт из имэджлиста как можно быстрее. Я так понимаю, что если мы пишем
p:=form1.dximagelist1.items[0]
TPictureCollectionItem(p).Draw(DXDraw.Surface,0,0,0);
что, как я понимаю, то же самое что form1.dximagelist1.items[0].draw();
то оно каждый раз при рисовании будет сначала находить айтэм №0, а потом рисовать, а я хочу чтобы оно его сразу рисовало :) ! На моём Celeron633 и i810 video приходится бороться за каждый фрэйм :)


 
Green_Templar ©   (2005-03-21 22:24) [5]

Помогите, пожалуйста!!!


 
Omar2002 ©   (2005-03-23 10:46) [6]

DXDraw1.Flip;


 
Omar2002 ©   (2005-03-23 10:49) [7]

никаких dxdraw1.initialize не надо, нужно просто свойство DXDraw компонента DXImageList установить DXDraw1, ну или как он там у тя называется.


 
Green_Templar ©   (2005-03-23 21:31) [8]

Omar2002, вы меня не поняли.
Нужно не просто нарисовать form1.dximagelist1.items[0], а сделать это самым быстрым способом, как удачно грузить растры я уже понял.


 
A22 ©   (2005-03-24 18:21) [9]

DirectDraw вообще имеет слабое отношение к самым быстрым способам :(
хотя, если нет вариантов, плюнь на все эти ссылки и т.д. и переведи свои картинки в адаптивную палитру. bmp 256 цветов все же будет быстрее на экран выводиться из-за меньшего объема копируемой памяти


 
Green_Templar ©   (2005-03-26 01:27) [10]

А как это сделать? Тупо в пэйнте поменять атрибуты рисунка? Там палитра портится.


 
Omar2002 ©   (2005-03-27 11:40) [11]

нет, в пэйнте не надо. лучше в фотошопе, там можно сохранить локальную палитру рисунка, тогда он максимально будет похож на свой 16 битовый оригинал.



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

Форум: "Игры";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.044 c
1-1117806225
Eraser
2005-06-03 17:43
2005.06.29
Принцип распознавания графических смайликов


8-1110101334
romantic
2005-03-06 12:28
2005.06.29
Положение TImage в Scrollbox`е


3-1116841354
ass1
2005-05-23 13:42
2005.06.29
isc4.gdb


14-1117700572
Keasha
2005-06-02 12:22
2005.06.29
Помогите дописать игру!


9-1111518164
Bret
2005-03-22 22:02
2005.06.29
Вид от первого лица в GLscene





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