ios - 如何在Sprite Kit中通过一组CGPoint进行动画制作-Swift

标签 ios swift3 sprite-kit

如何快速从SKSpriteNode数组中为CGPoints设置动画?我还希望SKSpriteNode旋转到下一个位置。任何帮助,将不胜感激。

最佳答案

根据@KnightOfDragon的建议,您可以创建一条路径并使节点遵循该路径,如下所示:

class GameScene: SKScene {


    override func didMove(to view: SKView) {


        //1. create points
        let points = [
            CGPoint(x:frame.minX,y:frame.minY),
            CGPoint(x:frame.maxX,y:frame.maxY),
            CGPoint(x:frame.maxX,y:frame.midY),
            CGPoint.zero
                      ]

        //2. Create a path
        let path = CGMutablePath()

        //3. Define starting point
        path.move(to: points[0])

        //4. Add additional points
        for point in points[1..<points.count]{

            print("point : \(point)")
            path.addLine(to: point)
        }

        //5. Create an action which will make the node to follow the path
        let action = SKAction.follow(path, speed: 122)

        let sprite = SKSpriteNode(color: .white, size: CGSize(width: 100, height: 100))

        addChild(sprite)

        sprite.run(action, withKey: "aKey")

    }
}

如果您希望节点定向到它遵循的路径(zRotation属性具有动画效果,以便节点转向遵循该路径),这可能比接受的答案更方便。

关于ios - 如何在Sprite Kit中通过一组CGPoint进行动画制作-Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43845041/

相关文章:

ios - 进入后台时 BLE 扫描停止?

objective-c - iOS 中的 STL 性能

ios - 裁剪 CALayer 的一部分

ios - 在 Sprite Kit 中为迷宫创建物理体的最佳方法?

ios - 处理多个 SKScenes 的最佳方法是什么?

ios - 如何为 API 凭据设置/取消设置多个帐户

ios - 什么时候在 Swift 中保存单例数据?

swift - 无法在 Swift 3 中创建范围

ios - Firebase 循环多级节点

ios - SpriteKit 有时无法加载 SKTexture