1
我嘗試使用幾個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個像素?
任何建議非常感謝!