HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 使用Pinch Gesture调整Sprite Kit节点的大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试实现捏手势识别器来调整我的精灵节点的大小.我正在使用setScale(sender.scalE)来做到这一点,但每次我抬起手指并尝试再次捏时,我的精灵重置为1.0比例,然后再缩放到捏. @H_404_7@

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

@H_404_7@这是我的代码.

@H_404_7@

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 {

    }

}
@H_404_7@这是PizzaSprite类

@H_404_7@

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

init(size: CGFloat) {
    let texture = SKTexture(imagenamed: "demPizza")
    super.init(texture: texture,size: CGSize(width: size,height: sizE))
}


required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

解决方法

所以,我已经在这个工作了一个星期了,放弃了一次而只使用了pan,但我不得不重新使用pinch.我发布这个问题后几分钟,我自己得到了答案…. @H_404_7@

@H_404_7@我发布在这里,万一有人需要这个.

@H_404_7@

func handlePinchFrom(_ sender: UIPinchGestureRecognizer) {

    let pinch = SKAction.scale(by: sender.scale,duration: 0.0)

    pizza.run(pinch)
    sender.scale = 1.0

}

大佬总结

以上是大佬教程为你收集整理的ios – 使用Pinch Gesture调整Sprite Kit节点的大小全部内容,希望文章能够帮你解决ios – 使用Pinch Gesture调整Sprite Kit节点的大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。