【发布时间】:2016-09-29 16:32:45
【问题描述】:
我正在处理我的游戏的说明屏幕,并希望向用户展示他们应该点击屏幕的某个区域。
所以我想在哪里展示一个动画
1) 手指在屏幕内外缩放,然后 -- 工作正常--
2) 一个矩形改变不透明度(显示以点击那里)然后 -- 需要帮助--
3) 闪烁的文字说“点击此处”--需要帮助--
对于 1),我有这个(工作正常):
finger = SKSpriteNode(texture: fingerTxt)
finger.position = CGPoint(x: 330, y: 450)
finger.zPosition = 10
InstHolderNode.addChild(finger)
let fingerTapScaleDown = SKAction.scale(by: 0.6, duration: 0.7)
let fingerTapScaleUp = SKAction.scale(by: 1.6, duration: 0.7)
let fingerScalingSequence = SKAction.sequence([fingerTapScaleDown,fingerTapScaleUp])
let fingerTapScaleForever = SKAction.repeatForever(fingerScalingSequence)
finger.run(fingerTapScaleForever)
对于2),我有:
var rect = SKShapeNode(rectOf: CGSize(width: 150.0, height: frame.height * 2))
rect.position = CGPoint(x: 300, y: 100)
rect.fillColor = SKColor.brown
rect.alpha = 0.5
InstHolderNode.addChild(rect)
问题:
我如何同步 1) 和 2) 以便在 1) 完成后(手指敲击动画完成),@ 987654324@ 值更改为0.1,然后更改回0.5,然后 1) 发生,然后rect.alpha 更改为更改为0.1(循环中)。
非常感谢!!
【问题讨论】:
-
我本来打算写一个答案,但它太多了,应该是你编码的东西。你已经知道
sequence。在序列的末尾添加一个runBlock动作,以在使用fadeToAlpha的矩形上触发一系列动作。然后在这个动作结束时,你运行另一个块来触发 fingerScaling 动作。不要永远重复,这将永远为你重复 -
感谢您的及时回复。请指导我如何在手指敲击动作 1) 发生后每 0.6 秒更改一次矩形的 alpha 值?谢谢!
-
已经告诉你怎么做
-
嗨,我还是个初学者,尝试过这个:pastebin.com/BZBFuqsA 矩形的褪色只发生一次,而不是连续发生。我怎样才能让它无限期,直到我想让它停止?谢谢
-
嗨,我什至尝试了 rect.run(fingerTapScaleForever) 并且已编译但游戏无法运行。如果您能指出正确的方向,将不胜感激。非常感谢
标签: swift sprite-kit skshapenode