Как создать имитацию изометрии в игре 2d Racing? - PullRequest
0 голосов
/ 12 июля 2010

Как я могу изменить гоночную игру 2D, чтобы она выглядела как изометрия?Flash + ActionScript3

ScreeShot

Игра полностью в 2d.Машина движется так, как должна, и пока она едет по земле, все в порядке.Я добавил серую рампу.Теперь машина должна двигаться так, как показывают стрелки, создавая иллюзию 3d (изометрия).

Рампа разделена на 3 сектора

- первый, сектор вправо (где находится автомобиль)в настоящее время находится);

секунда, сектор слева;

треть, сектор сверху;

Плюс мне нужна машина, чтобы выскочить из рампы, когдаскорость высокая.Я ссылаюсь на старую игру Scholl Rock'n'Roll Racing (игра Blizzard для Sega)

Так что вопросы

1) Как мне изменить угол и скорость автомобиля (скорость X и скорость Y) при движении по рампе?

2) Как я могу начать выпрыгивать из рампы?Например, как в гонках Rock'n'Roll?или как Blizzards по сути это сделали? (может быть, предложения)

Такс.

1 Ответ

2 голосов
/ 12 июля 2010

Лучше всего рассчитать игру в 3D, а затем просто спроецировать ее в изометрию.

const angle:Number = Math.PI/3;//you may want to tweak this one
const xVec:Point = Point.polar(-Math.PI/2 + angle, 1);
const yVec:Point = Point.polar(-Math.PI/2 - angle, 1);
const zVec:Point = new Point(0, -1);

преобразовать 3D в 2D:

function transform(x:Number, y:Number, z:Number):Point {
     return new Point(x*xVec.x + y*yVec.x + z*zVec.x, x*xVec.y + y*yVec.y + z*zVec.y);
}
...