我目前正在设计一个小游戏作为学习项目,它基本上如下,一个图像在viewDidLoad上旋转和缩放,另一个图像是原始图像的直接副本。
所以基本上有一个图像与另一个图像略有不同,目标是将其缩小,旋转并在另一个图像的顶部移动5像素,5度旋转和5%规模。
我的问题是,当我运行旋转和缩放方法时,图像会跳回到它的起始位置。
我的两种方法如下。
旋转
//rotation gesture recognizer response
- (void)respondToRotateGesture:(UIRotationGestureRecognizer *)gesture {
if (gesture.state == UIGestureRecognizerStateBegan || gesture.state == UIGestureRecognizerStateChanged) {
image.transform = CGAffineTransformRotate(gesture.view.transform, gesture.rotation);
}
gesture.rotation = 0;
}
比例
//pinch gesture recognizer
- (void)respondToPinchGesture:(UIPinchGestureRecognizer *)gesture {
if (gesture.state == UIGestureRecognizerStateBegan || gesture.state == UIGestureRecognizerStateChanged) {
image.transform = CGAffineTransformScale(image.transform, gesture.scale, gesture.scale);
}
gesture.scale = 1;
}
我试图理解为什么当我尝试旋转和缩放时,它不会围绕图像的中心旋转或从图像的中心缩放。它从左上角旋转并且所有奇怪的缩放。当我捏合图像缩小时,它会跳回到屏幕左下角的起始位置。
我有一个平移手势来移动图像并且工作正常,但是这两个问题导致了我的问题并且不顺畅。
有谁知道如何使这些工作更顺畅或建议?