在动画期间更改SKSpriteNode的锚点?

时间:2017-02-03 18:54:30

标签: ios swift sprite-kit skspritenode

所以我有下面的函数启动我的角色攻击动画,唯一的问题是两个纹理是不同的大小因此" resize:true"。我想要做的是改变第二个纹理的锚点,这样当我的角色攻击而不是第二个纹理居中时,移动角色的主体,我希望它稍微向右偏移,以便身体对齐与以前的纹理的身体。

有没有办法让锚点特定于纹理,还是我需要更改Sprite在帧之间的锚点?

func attackLeft() {
    attackLeftFrames = [attackLeft1, attackLeft2]
    attackLeftAction = SKAction.animate(with: attackLeftFrames, timePerFrame: 0.25, resize:true, restore:true)
    forever = SKAction.repeatForever(attackLeftAction)
    self.run(forever, withKey: "attackLeft")
}

1 个答案:

答案 0 :(得分:0)

因为我正在处理相当简单的精灵(64x64),我只是改变了纹理本身,在图像的任一侧添加了特定数量的像素,使其像另一侧一样居中。如果可能的话,我仍然想知道如何以编程方式执行此操作,以备将来参考。