Как двигаться рассчитать траекторию брошенных объектов в изометрической среде? - PullRequest
1 голос
/ 29 августа 2009

Я делаю изометрическую игру для iPhone, и мне нужна небольшая помощь. Как лучше всего рассчитать путь, по которому должен идти объект, если его перебрасывать с одной плитки на другую? Я изучал использование NSBezierPaths, но не могу понять, как использовать их для пути к объектам? Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 06 сентября 2009

Я бы посоветовал не использовать векторную графику (NSBezierPath) для того, что вам нужно для достижения.

Вы можете использовать CGPoint для представления позиции для каждого игрового объекта (при условии, что это 2D-игра). (Поместите эту структуру в класс GameObject).

struct objectPhysics
{
   CGPoint position;
   CGPoint velocity;
}

Используйте векторы скорости и направления для расчета траектории объекта. Предполагая, что следующие векторы:

position = position * velocity * timeDifference;

Когда происходит событие (например, пользователь нажимает на объект или обнаруживает столкновение), установите вектор скорости на значение (1, 0,5) или что-то, что означает перемещение +1 в направлении X и 0,5 в Y направление на кадр (или единицу времени, если у вас есть «* timeDifference»).

Вам следует взглянуть на этот сайт , чтобы получить советы по началу программирования игры и некоторые векторные математические вычисления , которые вам понадобятся для расчета направления, в котором вам нужно ускоряться. .

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

...