четверг, 26 ноября 2015 г.

Движение объекта по кругу (2D)

Рассмотрим простой алгоритм движения спрайта по кругу с заданной скоростью и заданным радиусом движения.
Мы будем использовать две тригонометрические функции: синус и косинус. Синус будет задавать изменение координаты X, а косинус - Y.
Для примера я взял картинки с игры The Binding of Isaac. В игре мухи "защитные" спутники летают вокруг Айзека по кругу. Сделаем тоже самое и мы!
В примере будут 3 основных объекта: главный персонаж и две мухи, которые будут летать вокруг него.

среда, 18 ноября 2015 г.

Расстояние до цели (2D)

Иногда в своих играх нужно определить расстояние до цели (дальность выстрела, аура, урон и тд). Тогда нужно использовать простейшую формулу с геометрии - теорему Пифагора (сума квадратов катетов прямоугольного треугольника равна квадрату гипотенузы).

Нам нужно найти гипотенузу треугольника ( с ). Для этого найдем сначала длину каждого катета. Катет "b" является осью X, поэтому нужно отнять х-координату первой  точки от х-координаты второй точки  х=х2-х1  (или наоборот x=х1-х2, на результат это не повлияет). Катет "а" это ось Y: y=y2-y1. После этого подносим к квадрату x и y, суммируем значения и находим корень квадратный. Всё просто :)
Как это будет выглядеть в AGK (напишем функцию):

Function  Distance(x1,y1,x2,y2)
x=x2-x1
y=y2-y1
result#=Sqrt(x*x+y*y)
endfunction result#