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