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

ios – 使用Pinch Gesture调整Sprite Kit节点的大小,第1张

概述我正在尝试实现捏手势识别器来调整我的精灵节点大小.我正在使用setScale(sender.scale)来做到这一点,但每次我抬起手指并尝试再次捏时,我的精灵重置为1.0比例,然后再缩放到捏. 我想要的是当我重新捏住屏幕时,精灵尺寸保持原样,并且随着我的捏缩而变得越来越大,因此我可以继续捏捏以使其变得像它一样大或小能够.这该怎么做? 这是我的代码. var pizza = PizzaSprite 我正在尝试实现捏手势识别器来调整我的精灵节点的大小.我正在使用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 {    }}

这是PizzaSprite类

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.我发布这个问题后几分钟,我自己得到了答案….

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

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节点的大小所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存