Sprite Kit提供了很强大的Action功能,而且使用起来非常方便,对于SKAction,自己没什么好说的,做了一个demo之后,大概的东西都掌握了,还是得自己动手去做,这样才能学得更好,学得更快。具体的关于SKAction的东西可以去看官方的api,建议还是去看一看会比较好,里面说得很清楚。
这里主要说一些比较特别的地方。
有些Action函数只适用在SpriteSKNode,如setTexture等,这不难理解,好像SKLabelNode,Label的话,可执行的Action肯定比如Sprite的多,这不难理解。
平移、旋转和缩放动作,都有moveBy和moveTo函数,这一需要注意一下,两者最终执行的效果是一样的,但还是有区别,moveBy是可逆的,而moveTo则不是,什么是可逆的呢,举个例子,当你moveByX:100之后,你可以通过moveByX:-100,让它回到原来的位置,这就是可逆的,而moveTo则不行,当你moveToX:100,然后moveToX:-100,你会发现,它直接去到x为-100的地方,即不是原来的位置所在,具体大家可以再去深入研究。
另外,SKAction还提供了一些组合动作,sequence、group和repeat,从字面上的意思可以大概知道它的执行意义,按一个队列执行一组动作,group的话即同时执行一组动作,repeat就是重复执行动作,需要注意的地方,队列的一组动作之中不可以有重复永远执行的动作,否则,当队列执行到那里的时候,会停在那里一直重复该工作;还有就是重复动作中不可以再有重复动作,这三个组合动作可以相互嵌套,但要根据它们自身的执行机制,准确地使用,不然就会出现bug,总之,在需要嵌套使用组合动作的时候需谨慎。