SKSpriteNode动画

最近,我在Flatiron学校的工作重点一直是SpriteKit。 值得注意的是,SpriteKit并未在iOS课程中教授,因此,当我和我的合作伙伴使用这种(看似)复杂的游戏引擎时,很大程度上取决于我们自己。

上周一直专注于使用SpritKit对物理进行简短的演示,但是不幸的是,我们的演示并未涉及如何使Sprite动画化它们的方式。 现在,您可能会想,“为什么要这样做?”,当谈到SpriteKit动画时,它可以很好地帮助用户传达正在发生的事情,更具体地说,是传达用户如何发生,发生什么以及他们应该如何反应。

在我们的案例中,我们有一个非常简单的跑步和跳跃游戏,我们称之为“ FlatIronMan”。 “游戏”的目标很简单,按住屏幕的时间越长,跳得越远-记录跳的长度和高度。 用户可以点击其他按钮来改变影响游戏物理的各种属性和功能。

接下来要讨论的主题是我们如何对“ FlatIronMan”精灵进行动画处理,这实际上非常简单。 为了动画化精灵,我们首先必须导入一系列带有所有可能动画的图像,以供SpriteNode循环播放。

之后,我们只需要调用某个函数即可遍历数组

  func WalkingMan(runningRate:Double){ 
 让anim = SKAction.animateWithTextures([SKTexture(imageNamed:“ man1”), 
SKTexture(imageNamed:“ man2”),
SKTexture(imageNamed:“ man3”),
SKTexture(imageNamed:“ man4”)],

timePerFrame:runningRate)
 让我们运行= SKAction.repeatActionForever(anim) 
  man.runAction(运行) 
  } 

让我快速地解释一下这里发生了什么—在声明函数时,我们传入了一个名为runningRate(这是Double值)的属性,该属性指定动画的循环速度。 然后,我们将SKAction定义为一个常量,因为无需进行任何更改。 然后,我们调用函数animateWithTextures(),该函数带有一个SKTexture数组和一个timePerFrame参数。 因此,我们使用括号格式以数组形式传入一系列纹理值,此外,我们将timePerFrame设置为与runningRate相等。 接下来,我们需要创建一个永远重复SKAction的常量(这是我们在本例中需要的常量,但是您也可以指定一定数量的迭代)。 最后,我们将SKAction附加到我们的SKSpriteNode上,瞧! 大功告成

这就是我本周的博客,希望您对SKSpriteNodes的动画制作有所了解。