ios - 如何在应用程序中创建 Action 序列(例如 spritekit 游戏)?

标签 ios swift animation

我试图让一个人向左移动,转身,然后向右移动。我知道如何在 Spritekit 中执行此操作,它使用 SKAction 序列。然而,我真的很难在应用程序而不是游戏中做到这一点。我现在所拥有的将导致那家伙同时移动和转身:

    UIView.animateWithDuration(5.0, delay: 0.0, options: [ .Repeat, .Autoreverse, .CurveEaseInOut], animations: {
        self.guy.center.x -= 130
        }, completion: nil)

    //    
    UIView.animateWithDuration(5.0, delay: 5.0, options: [ .CurveEaseInOut, .Repeat, .Autoreverse ], animations: {
        self.guy.transform = CGAffineTransformMakeScale(-1, 1)
        }, completion:nil )

谢谢!

最佳答案

如果第一个动画触发第二个动画,您可以使用完成处理程序。

将其放入一个函数中,并使用计时器触发该函数以创建循环

UIView.animateWithDuration(5.0, delay: 0.0, options: [ .Repeat, .Autoreverse, .CurveEaseInOut], animations: {
    self.guy.center.x -= 130
    }, completion: {
         UIView.animateWithDuration(5.0, delay: 0.0, options: [ .CurveEaseInOut, .Repeat, .Autoreverse ], animations: {
            self.guy.transform = CGAffineTransformMakeScale(-1, 1)
    }, completion:nil )
})

关于ios - 如何在应用程序中创建 Action 序列(例如 spritekit 游戏)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36669373/

相关文章:

android - 为什么调用 applyTransformation() 的时间间隔大约是 16ms?

html - SVG动画(SMIL),如何重复整个动画?

ios - 我需要澄清一下我是否应该(可以?)解除分配与 View 相关的 UI 元素

ios - UIView的contentScaleFactor依赖于实现drawRect :?

swift - iOS UIImageView 不自动刷新

swift - 如何在 Swift Realm 中为记录指定特定 ID

java - 如何为 JavaFX 8 动画提供自定义刻度/脉冲生成器?

ios - UITableView 出现空单元格

ios - iOS-Swift。从MVC到MVVM重构。使用Delegate方法处理IBAction

ios - 如何在应用程序启动时创建多个快捷方式