Я работаю над экраном инструкций своей игры и хочу показать пользователю, что он должен коснуться определенной области экрана.
Поэтому я хочу показать анимацию, где
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) (выполнена анимация постукивания пальцем) значение rect.alpha
изменялось на 0.1
, а затем снова меняется на 0.5
, а затем происходит 1), а затем rect.alpha
постоянно изменяется на 0.1
(в цикле).
Большое спасибо!!
sequence
. В конце вашей последовательности вы добавляете действиеrunBlock
, чтобы запустить последовательность действий над прямоугольником, использующимfadeToAlpha
. Затем в конце этого действия вы запускаете другой блок, запускающий действие fingerScaling. Не используйте повтор навсегда, это будет повторяться вечно для вас - person Knight0fDragon   schedule 29.09.2016