1
我试图为我的一个精灵创建一个“按钮触摸”效果,它工作的很好,但随后我用两个或更多的手指同时敲击,我得到了非常奇怪的结果,这里是我的代码:SpriteKit水龙头缩放
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())
}
如果我点击并按住精灵,它scaleDown(这是很好),但如果继续保持,我用其他手指在屏幕上点击,它会多次调用相反的动作,多次放大精灵大小。我尝试了scaledTo,它的工作原理!现在唯一的一件事就是我调整了gameScene中的精灵,当我缩放到1时,它调整到原始大小....感谢上一个答案!我感谢它! – extrablade
您能否将答案标记为正确?我真的不明白你的评论的后半部分。我从不使用reverAction,也许只是尝试... scaleTo(1,duration:0)重置按钮。 – crashoverride777
,因为我调整了GameScene.sks中按钮的精灵,每当触摸结束时,我将其缩小(scaleTo1,duration:0),并将其调整为“真实”大小,其大小是在调整它的大小之前GameScene.sks – extrablade