gpt4 book ai didi

swift - SpriteKit 缩放

转载 作者:行者123 更新时间:2023-11-28 06:47:47 25 4
gpt4 key购买 nike

我正在尝试为我的一个 sprite 创建一个“按钮触摸”效果,效果很好,但是我同时用 2 个或更多手指点击,我得到了非常奇怪的结果,这是我的代码:

let buttonPressAction = SKAction.scaleBy(0.8, duration: 0)

var button = SKNode()


override func didMoveToView(view: SKView) {

//assign sprite to node

button = self.childNodeWithName("button") as! SKSpriteNode!

}

for touch: AnyObject in touches {

let location = touch.locationInNode(self)

if button.containsPoint(location) {

button.runAction(buttonPressAction)

}
}

}

override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {

button.runAction(buttonPressAction.reversedAction())
}

最佳答案

尝试从

更改 SK 比例 Action
...scaleBy

...scaleTo

确保它始终缩放到相同的大小。使用 scaleBy 它将按 0.8 缩放,而不是 0.8。这很可能会导致多次触摸时出现奇怪的结果,因为您为每个手指/点击缩放 0.8。

我以前从未使用过 reverseAction,所以我不确定这是否会导致问题。如果确实如此,只需将按钮缩放回 1 即可重置按钮

...scaleTo(1, duration: 0)

作为旁注,你可以说

for touch in touches 

代替

for touch: AnyObject in touches 

关于swift - SpriteKit 缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35822508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com