Ios SKSpriteNode拥有传送能力,它可以';不可阻挡

Ios SKSpriteNode拥有传送能力,它可以';不可阻挡,ios,swift,sprite-kit,skspritenode,Ios,Swift,Sprite Kit,Skspritenode,如果有人曾经玩过传奇联盟,他们知道你点击某个区域可以让玩家移动到该位置。他们不会马上到达那里,这需要一点时间。我尝试将此功能添加到我正在制作的游戏中。问题是,角色有时倾向于缓慢地移动到触摸区域,这很好,因为这正是我想要的,但有时会出现不一致,它会瞬间传送到触摸点。有人看到问题了吗 let touch = touches.anyObject()! as UITouch let location = touch.locationInN

如果有人曾经玩过传奇联盟,他们知道你点击某个区域可以让玩家移动到该位置。他们不会马上到达那里,这需要一点时间。我尝试将此功能添加到我正在制作的游戏中。问题是,角色有时倾向于缓慢地移动到触摸区域,这很好,因为这正是我想要的,但有时会出现不一致,它会瞬间传送到触摸点。有人看到问题了吗

let touch                   = touches.anyObject()! as UITouch
let location                = touch.locationInNode(self)
let moveAction              = SKAction.moveTo(location, duration: 3.0)              

if(tankTurn)    // Tank's turn when tankTurn is true.
{
    tank.runAction(moveAction)

    tank.position               = location
    tankTurn                    = false
}// if statement

删除
tank.position=location
语句应该可以解决问题。非常感谢。顺便说一句,您应该根据位置和坦克位置之间的距离更改SKAction.moveTo的持续时间。那样会更聪明一些。是的,我昨晚注意到了。改变了,看起来好一点,谢谢。删除
tank.position=location
语句应该可以解决问题。完全解决了问题,非常感谢。顺便说一句,您应该根据位置和坦克位置之间的距离更改SKAction.moveTo的持续时间。那样会更聪明一些。是的,我昨晚注意到了。改变了,看起来好一点,谢谢。删除
tank.position=location
语句应该可以解决问题。完全解决了问题,非常感谢。顺便说一句,您应该根据位置和坦克位置之间的距离更改SKAction.moveTo的持续时间。那样会更聪明一些。是的,我昨晚注意到了。换了,看起来好多了,谢谢。