小编Fak*_*n B的帖子

使用Pinch Gesture调整Sprite Kit节点的大小

我正在尝试实现捏手势识别器来调整我的精灵节点的大小.我正在使用setScale(sender.scale)这个,但每次我抬起手指再次尝试捏,我的精灵重置为1.0比例,然后再缩放到捏.

我想要的是当我重新捏住屏幕时,精灵尺寸保持原样,并且随着我的捏缩而变得越来越大,因此我可以继续捏捏以使其变得像它一样大或小能够.这该怎么做?

这是我的代码.

var pizza = PizzaSprite()

override func didMove(to view: SKView) {

    let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(self.handlePinchFrom(_:)))

    pizza = PizzaSprite(size: self.frame.width * 0.25)

    self.addChild(pizza)

    self.view?.addGestureRecognizer(pinchGesture)

}

func handlePinchFrom(_ sender: UIPinchGestureRecognizer) {

    if sender.state == .began {

    } else if sender.state == .changed {

        pizza.setScale(sender.scale)

    } else if sender.state == .ended {

    }

}
Run Code Online (Sandbox Code Playgroud)

这是PizzaSprite类

init() {
    let texture = SKTexture(imageNamed: "demPizza")
    super.init(texture: texture, color: UIColor.clear, size: texture.size())
}

init(size: CGFloat) {
    let texture = SKTexture(imageNamed: …
Run Code Online (Sandbox Code Playgroud)

uigesturerecognizer ios uipinchgesturerecognizer sprite-kit swift

5
推荐指数
1
解决办法
1372
查看次数