0

我目前正在设计一个小游戏作为一个学习项目,它基本上如下,一个图像在 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;
}

我试图理解为什么当我尝试旋转和缩放时,它不会围绕图像中心旋转或从图像中心缩放。它从左上角旋转并缩放所有奇怪的东西。当我捏住图像以缩小图像时,它会跳回到屏幕左下角的起始位置。

我有一个平移手势来移动图像并且工作正常,但是这两个给我带来了问题并且不流畅。

有谁知道如何使这些工作更顺利或和建议?

4

0 回答 0