如何在SpriteKit和Swift中制作有效的按钮?

时间:2016-04-29 00:23:41

标签: swift animation sprite-kit

嘿伙计我有另一个问题。在我看来,在SpriteKit中制作按钮的唯一方法是使用touchesBegan功能,这很棒,但按钮非常蹩脚,因为它们没有动画,触摸它们时没有效果。我所知道的所有伟大的游戏都是用SpriteKit制作的 - 例如“100 Balls” - 当你按下按钮时会产生很酷的效果,然后当你释放它时,你会转到下一个场景。特别是Candy Crush Saga获得了一些非常好的弹跳效果,但我认为他们不使用SpriteKit。但无论如何,我的问题是他们如何使这些按钮具有效果? (抱歉我的英文不好:/)

1 个答案:

答案 0 :(得分:0)

如果你想按下它时按钮变小,当你放手时按钮变大,你可以在Touches BeganTouches Ended(甚至Touches Moved中实现代码想): 在Touches Began下:

if button.containsPoint(location){
let scale = SKAction.scaleTo(0.7, duration: 0)
button.runAction(scale)
}

Touches Ended下:

if button.containsPoint(location){
let scale = SKAction.scaleTo(1, duration: 0)
button.runAction(scale)
}

Touches Moved下:

if !button.containsPoint(location){
let scale = SKAction.scaleTo(1, duration: 0)
button.runAction(scale)
}

顺便说一句,这是未经测试的代码。请告诉我它是怎么回事。我在这里发布了一个类似问题的代码:Giving properties of a UIButton to a SKSpriteNode in SpriteKit

祝你好运!