Я пытаюсь объединить анимации вместе, используя несколько CGAffineTransforms
и CGAffineTransformConcats
. Общая цель, которую я пытаюсь достичь, - заставить мое изображение вращаться на 45 градусов, перемещаясь вверх на 50 пикселей, затем поворачивайте еще 45 градусов по пути назад.Странный результат с использованием CGAffineTransform
CGAffineTransform translateUp = CGAffineTransformMakeTranslation(0, -50);
CGAffineTransform firstSpin = CGAffineTransformMakeRotation(M_PI_4);
CGAffineTransform translateDown = CGAffineTransformMakeTranslation(0, 50);
CGAffineTransform secondSpin = CGAffineTransformMakeRotation(M_PI_4);
CGAffineTransform transform1 = CGAffineTransformConcat(translateUp, firstSpin);
CGAffineTransform transform2 = CGAffineTransformConcat(translateDown, secondSpin);
CGAffineTransform transformFull = CGAffineTransformConcat(transform1, transform2);
[UIView beginAnimations:@"MoveAndRotate" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5];
mainCharacterImage.transform = transformFull;
[UIView commitAnimations];
Теперь помните, что я довольно новичок во всем, что связано с CG, но я не понимаю, почему это не работает.
Однако я не считаю, что это не работает, чтобы быть странной частью, мой вопрос в основном заключается в том, может ли кто-нибудь объяснить мне, почему приведенный выше код заставляет мое изображение не только двигаться вверх и вращаться , но для перемещения примерно 100 пикселей вправо?
Любые предложения очень ценятся!