нужен сабж, киньте алго плз
|
тебе собно линейная интерполяция надо чтоли или как ?
можеж по детальнее описать что надо |
Нужно просто чтоб мячик(или марио какой-то) прыгал по карте(вид сбоку)... карту из любого ресурса брать и тд
|
Сабж - это готовая игра уже будет. Тебе только свои ресурсы добавить останется.
|
Цитата:
|
Вложений: 2
ТАК! что тут за флуд в мое отсутствие!?
Если нЕчего сказать, то нафига тогда флудить? вообще пипецц >:( Дак вот... по теме... движение по карте реализовать на паскале оооочень гЕморно, я пробовал но это ооочень медленно работает... см аттач. |
Цитата:
|
Цитата:
там есть переменные UXPos и UYPos (типа User X Position) дак вот, пишешь туды код, чтоб от нажатия кнопок эти координаты изменялись и будет тебе объект по карте перемещаться ;) ;) код на подобие этого: Код:
t:=1; |
Примерно так:
if SXPos+ScreenW*7<UXPos then SXPos:=SXPos+t; if SXPos+ScreenW*7>UXPos then SXPos:=SXPos-t; if SYPos+ScreenH*7<UYPos then SYPos:=SYPos+t; // UXPos исправить на UYPos if SYPos+ScreenH*7>UYPos then SYPos:=SYPos-t; // тоже исправить // <-- СЮДА ВСТАВИТЬ (См. далее) redrawscreen //////////////////////////////////////////// // Что вставлять: keyCode := GetKeyPressed; if KeyToAction(keyCode) = GA_UP then begin UD := 1; if ScreenW < UYPos then UYPos := UYPos - 1; end; if KeyToAction(keyCode) = GA_DOWN then begin UD := 3; UYPos := UYPos + 1; end; if KeyToAction(keyCode) = GA_LEFT then begin UD := 4; if ScreenH < UXPos then UXPos := UXPos - 1; end; if KeyToAction(keyCode) = GA_RIGHT then begin UD := 2; UXPos := UXPos + 1; end; // конец |
Забыл еще в VAR добавить
x, y: integer; keyCode: integer; |
Гы ! Он за карту выехал, по стенам ездил... Смысл моего вопроса: движение по полу на карте вместе со столкновением со стенами
|
Цитата:
дели координаты юзера на 16 и проверяй в массиве GameFF что там есть стена али нет... :) |
Тут англичанин нарыл на сайте Sun одну интересную статью.
Я ее переложил под МР. Красивый код получается. muTank Правда проблемы с компиляцией java-библиотек дают ложку дегтя. |
а как коллизия там прорабатывается? вижу вроде попиксельно, красиво это, но долго наверное...
если допустим будет 10 танков + каждый может выпустить 10 пуль + 200 взрывающихся тайлов (стен там всяких, бомб)... допустим, мы проверяем по позиции и коллизию тестим только у близлижащих объектов, в критической ситуации ИМХО должно прорабатываться примерно 100 коллизий и это в минимум 25 фпс... тормозов там не будет? 8) |
Коллизия попиксельная из GameCanvas. Насчет быстродействия посмотрим, там пауза 80 мс между опросами. Просто была такая классная игрушка Five. Там два танка друг против друга воевали в свободном полете.
|
Часовой пояс GMT +4, время: 13:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot