我想要完成的是我的Iphone游戏中的设置装置同时发出脉冲和旋转。在下面你可以看到我的缩放动画代码。我尝试了多种方式同时旋转和缩放,但是当我提交一个新动画时,其他动画会停止。 我该如何解决这个问题?
tt = CGAffineTransformMakeScale(1.01, 1.01);
CGPoint center2 = gear.center;
[UIView animateWithDuration:0.66666666666667/4
animations:^{
gear.center = center2;
gear.transform = tt;
}
completion:^(BOOL finished) {
[self method2];
}];
答案 0 :(得分:1)
您是否尝试使用旋转和缩放变换而不是多个动画来设置变换?
CGAffineTransform tt= CGAffineTransformMakeScale(1.01, 1.01);
tt= CGAffineTransformRotate(tt, radians);
CGPoint center2 = gear.center;
[UIView animateWithDuration:0.66666666666667/4
animations:^{
gear.center = center2;
gear.transform = tt;
}
completion:^(BOOL finished) {
[self method2];
}];
答案 1 :(得分:0)
您可以使用级联同时旋转,缩放和平移。在这种情况下,您需要将作为齿轮中心的锚点移动到原点,然后进行缩放和旋转,然后将齿轮中心向后移动。 请勿使用tt = tt.xxxedBy()
let anchor = gear.center
var tt = CGAffineTransform(translationX: -anchor.x, y: -anchor.y)
tt = tt.concatenating(CGAffineTransform(rotationAngle: radians))
tt = tt.concatenating(CGAffineTransform(scaleX: 1.01, y:1.01))
tt = tt.concatenating(CGAffineTransform(translationX: anchor.x, y: anchor.y))
// do animation ...