Изометрия c сцена - как? - PullRequest
       9

Изометрия c сцена - как?

0 голосов
/ 04 апреля 2020

Я запрограммировал простое 2d приложение / игру. Я только заметил, что сцена isometri c вместо 2d будет выглядеть великолепно. Я не использовал SpriteKit, et c. Это просто простое приложение с одним представлением.

Теперь я нарисую несколько хороших векторов изометрии c, например, бензозаправочной станции, которые я хотел бы использовать вместо простых 2D-изображений. Конечно, я могу просто использовать их в качестве изображения. Но моя идея заключалась в том, что я могу анимировать вождение автомобиля прямыми способами, так что они кажутся трехмерными (изометрия c), а представляют собой просто изображения, движущиеся по заданному пути. Каков наилучший способ сделать это? Могу ли я использовать изображение isometri c в качестве игровой сцены (никогда не использовалось)?

Привет!

1 Ответ

0 голосов
/ 04 апреля 2020

Если вы до сих пор обходились без SpriteKit, я не вижу необходимости использовать его сейчас. Сохраняйте их как UIImageViews и нормально анимируйте их позиции, просто убедитесь, что точка, в которую вы их перемещаете, имеет смысл, чтобы не разрушить иллюзию.

Вы можете открыть свое изображение в Preview, щелкнуть и перетащить вдоль его направления сделайте прямоугольное выделение angular вдоль этого направления и используйте ширину и высоту этого поля, чтобы сделать соотношение, например, 20:25, которое затем упрощается до 4: 5. Это означает, что для каждых 4 точек он перемещается вдоль оси x, он должен перемещаться на 5 пунктов вдоль оси y. Затем сохраните это соотношение как CGPoint где-то в вашем коде, обратите внимание, что все ваши изометрические c изображения должны давать вам такое же соотношение.

Затем вы можете создать абстракцию, которая перемещает изображение на x точек вдоль его направления, используя это соотношение. Скажем, вы хотите переместить его на 100 пунктов вдоль его направления, и скажите, что соотношение составляет 4: 5. Отношение представляет собой треугольник шириной 4, высотой 5. Вы используете a ^ 2 = b ^ 2 + c ^ 2 для вычисления гипотенузы этот треугольник. Затем найдите k такой, что ck = 100. Затем умножьте a и b на эти k , чтобы получить дельту x и delta y. Примените эти дельты к текущей позиции, и у вас будет конечная позиция для анимации, которая будет на 100 пунктов вдоль ее направления.

...