Я все еще новичок в UIKit, но я что-то работаю над созданием динамической структуры для создания монстров и их прохождения по заранее определенным маршрутным точкам из файл конфигурации.Кривая анимация в Swift и UIKit - параболическое движение от начальной/конечной точки
Итак, для данного монстра я начал настраивать простые путевые точки, например, переходить через экран, или идти по определенному пути, основанному на координатах (x, y). Каждый путь имеет ряд путевых точек, и монстр следует за ним, а затем меняет направление.
Это прекрасно работает, но теперь я хочу, чтобы монстры прыгали по дуге (так что-то квадратное/параболическое). Поэтому я подумал, что это довольно просто, просто создайте путевые точки для представления дуги, и я добьюсь этого. Прямо сейчас я просто делаю
SKAction.MoveBy(x,y, duration)
Ну это сработало, но анимация не является гладким, потому что я только догадывался путевых точек, вместо того, чтобы использовать фактическую математическую параболическую функцию. Так что я сделал что-то вроде:
(5, 10),
(5, 10),
(10, 10),
(15, 10),
.. and then on the way down
(-15, -10)
..
etc
Так что я думаю, что либо нужно сделать 2 вещи, которые я не уверен о:
- найти что-то (сайт/инструмент/математические функции?), Который может сгенерируйте более плавный, правильный набор (x, y) координат для дуг быстро для меня, поэтому я могу затем ввести их в свой файл конфигурации и добиться плавного прыжка монстра вдоль дуги. Я не помню эту математику из школы, это было слишком долго = /.
- Используйте какую-то функцию, встроенную в Swift, которая может сделать это для меня автоматически (я сделал некоторые исследования, но большая часть из них была либо старым объектом Objective-C, либо казалась безумно сложной).
Может ли кто-нибудь указать мне в правильном направлении?
Спасибо!
Я не знаю много о наборе сюжетов, но если у вас есть способ сделать путешествие спрайтов по пути Безье, то квадратичный (не кубический) путь Безье - это именно то, что вам нужно. Парабола представляет собой квадратичную кривую, поэтому ее легко моделировать с помощью квадратичного безье (2 конечных пункта плюс единая контрольная точка). –
Это интересно и может быть то, что я ищу, вы должны ответить как ответ, чтобы я может дать вам кредит. Легко ли настраивать квадратичную безье? – NullHypothesis