虚拟操纵杆在更改动画时移动精灵

时间:2018-02-04 00:38:10

标签: swift sprite-kit

我正在开展一个项目,我在屏幕上有一个虚拟操纵杆,可以在棋盘上移动角色。我找到了一些很好的例子,我目前使用的那个例子位于@ https://github.com/Ishawn-Gullapalli/SpritekitJoystick/tree/master/SpritekitJoystick

当玩家像我想要的那样移动时,我无法弄清楚如何通过使用这种方法我可以根据他的方向改变玩家动画。我能够确定方向,但是我调用SKAction的常用方法并没有为玩家设置动画,它只是将他移动到新位置,同时暂停空闲动画。我正在更新语句中移动我的播放器,如下所示,我正在寻找有关如何正确更改动画的提示。

我包括下面的更新声明。我也尝试传入具有相同效果的CGPoint值。提前感谢您的光临。

override func update(_ currentTime: TimeInterval) {

    if joystick.joyStickTouched == true {

        mainHero.position.x += joystick.moveRight(speed: movementSpeed)

        // Example of me trying to animate my player
        if joystick.moveRight(speed: movementSpeed) > 0 {
            walkRight()
        }

        mainHero.position.x -= joystick.moveLeft(speed: movementSpeed)
        mainHero.position.y += joystick.moveUp(speed: movementSpeed)
        mainHero.position.y -= joystick.moveDown(speed: movementSpeed)
        joystick.update(currentTime)

    }

}


func walkRight() {
    mainHero.isPaused = false
    let idleAnimation = SKAction(named: "MainWalkRight")!
    let rightGroup = SKAction.group([idleAnimation])
    mainHero.run(rightGroup, withKey: "Right")
}

0 个答案:

没有答案