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

Вниз

Спрайты...   Найти похожие ветки 

 
Destroyer   (2003-09-17 14:41) [0]

Подскажите пожалуйста как объяснить Delphi что некоторый спрайт должен находиться позади другого, т.к. он дальше чем другой


 
HoloCaust   (2003-09-17 14:48) [1]

Для этого существует координата Z


 
pasha_676 ©   (2003-09-17 14:49) [2]

Виртуальная координата Z. Чем она дальше от экрана - тем раньше отрисовывается спрайт.


 
HoloCaust   (2003-09-17 14:57) [3]

Если тебе необходимо распределить объекты на стандартной форме, то кликаешь по нему правой кнопкой мыши, выбираешь пункт Control, а далее - либо Bring To Front (вперед), либо Send To Back (назад)


 
Destroyer ©   (2003-09-17 15:00) [4]

А если спрайтов много... То тогда на все это будет уходить много времени. И как можно объяснить Делфи кто именно должен отрисовываться раньше. Заранее спасибо!


 
HoloCaust   (2003-09-17 15:13) [5]

Сначала скажи на чем ты пишешь, а еще всегда новые объекты отрисовываются поверх старых.


 
Darthman ©   (2003-09-17 16:08) [6]

var
 i : integer;
begin
 for z:=0 to zmax do
 for i:=0 to SpritesCount-1 do
 if sprite[i].z=z then sprite[i].draw;

и чего тут непонятного?


 
pasha_676 ©   (2003-09-17 16:10) [7]


> А если спрайтов много... То тогда на все это будет уходить
> много времени

Сортировка будет занимать меньше времени, чем вывод на экран. Гораздо меньше...

 Но можно конечно сделать "слоистую" систему. Допустим 10 слоев по Z. При перемещении объекта по Z он (вернее указатель на него) помещается в соответствующий слой. Потом инфа выводиться по слоям по принцыпу - дальний первый.
Так же можно объекты представить в виде связанного списка. При этом если объект перемещается по Z, то список разрывается, "дырка" связывается. Объект "ищит" по возрастанию куда вклиниться. Так что бы Z соседей была соответственно больше(равна) и меньше(равна). После чего произвести "врезку" в список. Кстати под вопросом будет ли это быстрее сортировки по возрастанию.


 
MeF88 ©   (2003-09-17 16:33) [8]

Кстати, применим ли к массиву спрайтов метод быстрой сортировки? И эффективно ли это? Хотя бы для той же z.


 
pasha_676 ©   (2003-09-17 16:55) [9]


> Кстати, применим ли к массиву спрайтов метод быстрой сортировки?
> И эффективно ли это? Хотя бы для той же z.

Ну сортируешь не спрайты же... А ссылки на объекты (которые включают в себя и сами спрайты конечно) по полю Z. Какая блин разница?


 
Ландграф Павел ©   (2003-09-17 19:16) [10]

Лучше еще при загрузке всех спрайтов создать массив с именами спрайтов и их значениями Y, потом сортируешь в порядке возрастания и выводишь на экран те, которые находятся в данный момент на экране, при динамическом создании спрайтов всего один раз при создании добавить новый элемент в массив и заново пересортировать, или просто посмотри как реализована .z координата в delphiX


 
***Мао Дзядун***   (2004-03-09 23:10) [11]

ААААААААААААА !!!!!!!!! Мне бы научится со спрайтами работать ............ :(((((



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

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

Наверх




Память: 0.47 MB
Время: 0.055 c
14-1087266575
Думкин
2004-06-15 06:29
2004.07.04
С днем рождения! 15 июня


14-1087172955
Nicon
2004-06-14 04:29
2004.07.04
Приватизация


14-1087064565
Mobias
2004-06-12 22:22
2004.07.04
Проблема с "Кладовой"


1-1087371152
Ш-К
2004-06-16 11:32
2004.07.04
Properties to XML


14-1087280962
DimKa
2004-06-15 10:29
2004.07.04
Сколько в кубометре байтов?





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