我在找出在哪里放置一个最大/最小比例的if/or语句来控制你可以在Xcode(Swift)中放大和缩小我的GameScene时遇到了一些问题。我试着限制sender.scale,但由于这个数字会根据你缩放的起始点而改变,所以我无法让它工作。下面是我的相关代码。
@objc func pinchGestureAction(_ sender: UIPinchGestureRecognizer)
{
let maxScale = CGFloat(1.0)
let minScale = CGFloat(0.1)
guard let camera = self.camera else
{
return
}
if sender.state == .began
{
previousCameraScale = camera.xScale
}
camera.setScale(previousCameraScale * 1 / sender.scale)
}
发布于 2018-08-14 20:02:38
您可以将以下行添加到函数的末尾:
camera.xScale = min(maxScale, camera.xScale)
camera.yScale = min(maxScale, camera.yScale)
camera.xScale = max(minScale, camera.xScale)
camera.yScale = max(minScale, camera.yScale)
希望这能有所帮助!
https://stackoverflow.com/questions/51844045
复制