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

Вниз

алгоритм для 2д-аркады   Найти похожие ветки 

 
Green_Templar ©   (2005-03-27 23:29) [0]

Есть чувак ("прямоугольник", вечно перпендикулярный сторонам монитора), и есть поверхность, по которой он бегает. Какой самый оптимальный алгоритм для проверки стоит прямоугольник на поверхности или нет? Как лучше всего задавать поверхность? Естественно, что поверхность не обязательно паралельна Ох.
Я делаю так:
x:array of array of integer. Например x[a,b] - а-это координата персонажа по х; если b=0, то x[a,b]=количеству точек на прямой x=a. соответственно, for c:=1 to x[a,0] даёт нам множество точек этой самой прямой. x[a,b], b<>0 - координата у точки.
Потом всё время проверяю наличие точек в прямоугольнике , где Left и Right - правая и левая точка чувака, Top=Bottom чувака, Bottom=Bottom+ускорение силы тяжести(5 пикселей, например), с которым чувак падает вниз. Если чувак прыгает, естессно, алгоритм на проверку крыши другой (не трудно догадаться, какой).
И всё бы хорошо, если бы такой алгоритм давал больше 20 фпс (на хороших машинах показывает фпс минимум 30), и это при том, что у меня пока что только 1 перс бегает, а если врагов добавить...
Просьба выразить своё "фе" по поводу сего творения мысли, чем больше, тем лучше :)
Ещё вопрос: а как сделать так, что если персонаж запрыгнул на плывучую колоду, то он перемещается вместе с ней по х и по у, а не вываливается при движении?


 
П7   (2005-03-27 23:44) [1]

На чём пишешь? Обычно примерно так и делают... Если я правильно тебя понял.


 
@!!ex   (2005-03-28 00:01) [2]

Я так думаю, что основную часть ресурсов у тебя жрет не расчет, а отрисовка.....


 
Green_Templar ©   (2005-03-28 01:01) [3]

Пишу на Дэлфи7 + ДэлфиХ, потом перейду с ДэлфиХ на дайректДроу-похожие. Отрисовка у меня совсем ничего не жрёт - разрешение экрана никакого значения как ни странно не играет, тем более что там пока кроме персонажа и точек карты ничего не рисуется. А как насчёт колоды?



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

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

Наверх





Память: 0.45 MB
Время: 0.039 c
14-1118729210
Rouse_
2005-06-14 10:06
2005.07.11
Репортажик о отдыхе в Костроме


1-1118770859
Starcom
2005-06-14 21:40
2005.07.11
Build with Runtime packages


14-1118735941
leonidus
2005-06-14 11:59
2005.07.11
Отзовитель кто пишет плагины для FireFox


6-1112854660
v-o-y-a-g-e-r
2005-04-07 10:17
2005.07.11
Определение пользователя залогированного на машине...


14-1118168853
default
2005-06-07 22:27
2005.07.11
Задачка





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