在触摸时将动画添加到 SKSpriteNode (Swift)

Posted

技术标签:

【中文标题】在触摸时将动画添加到 SKSpriteNode (Swift)【英文标题】:Add animation to SKSpriteNode on touch (Swift) 【发布时间】:2015-08-18 10:08:23 【问题描述】:

我的场景中有很多正方形 (SKSpriteNode)。

我可以检测到哪个节点已被点击,但我想在节点被触摸后为其添加动画(如改变颜色或淡出颜色或发光)。

我能做什么?

谢谢

【问题讨论】:

【参考方案1】:

您必须使用touchesBegantouchesEnded 方法。

您可以在上面使用SKAction。例如要改变颜色,你可以这样做:

//in your touchesBegan-method
yourNode.runAction(SKAction.colorizeWithColor(UIColor.blueColor(), colorBlendFactor: 1.0, duration: duration)


//in your touchesEnded-method
yourNode.runAction(SKAction.colorizeWithColor(UIColor.greenColor(), colorBlendFactor: 1.0, duration: duration)

这将在触摸期间将节点的颜色更改为蓝色,并在不再触摸节点时将其更改为绿色。

【讨论】:

感谢您的回答。但我想要一个完整的答案 完整答案是什么意思?这就是您提出的问题的答案。 当触碰时,颜色会改变,触碰时会变回第一种颜色。像一个按钮。 那么您必须将该信息添加到您的问题中。 是的,我必须添加。感谢您的回答。明天我会接受你的回答。 (我只是在等待一个更好的答案)

以上是关于在触摸时将动画添加到 SKSpriteNode (Swift)的主要内容,如果未能解决你的问题,请参考以下文章

未检测到 SKSpriteNode 触摸

快速检测到 SKSpriteNode 触摸

子类化的 SKSpriteNode 触摸事件被忽略

如何使用该节点的自定义类检测在单独场景中创建的 skspritenode 上的触摸

SKSpriteNode 纹理 alpha 是不是影响触摸区域?

无法点击 SKSpriteNode - 未检测到触摸 ios