Как написать кривую Безье на лету с одной фиксированной точкой и одним изменением
Если у меня есть объект, выполняющий этот путь анимации CAKeyframe (это просто овальная форма в верхней области iphone..
UIBezierPath *trackPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(20, 100, 280, 150)];
Теперь представьте, что в любое время во время этих путей я хочу создать плавный путь из его текущей позиции в определенный момент времени и в некоторой точке внизу экрана.
Кстати, я предполагаю, что когда у меня есть путь, я могу остановить текущую CAKeyframe Animation и добавить этот путь в новую анимацию CAKeyframe, но, возможно, если это неверно, вы можете указать мне и здесь указатели, пожалуйста.
1 ответ
Поэтому я сказал себе: "Я... похоже, вам придется самому ответить на этот вопрос, поскольку никто даже не хочет его редактировать или говорить, что это дубликат......"
Так что я надеялся на более простой или готовый способ сделать это. Из того, что я нашел, нет простого пути. Кажется, шаги будут;
- получить текущую позицию анимированного слоя
- рассчитать себя со всем своим собственным кодом приятной плавной кривой
- добавить этот путь к анимации и анимировать его.
Что касается вычисления кривой Безье, я все еще ищу какой-то класс или код, в которые можно вставить точки, и две контрольные точки создаются для класса UIBezier для создания кривой.
В моем случае я собираюсь только оживить "из" моей вышеупомянутой сомнительной формы определенные точки и, таким образом, иметь готовые плавные кривые, которые я подготовил.
Анимация плавного выхода из овала в любой точке очень сложна и в моем случае просто не стоит. Так что я этого не сделал.