将SKSpriteNode移动到SKTileMapNode上的特定磁贴

时间:2016-12-06 20:58:49

标签: ios swift sprite-kit

为简单起见,假设我有一个SKSpriteNode和一个类似的SKTileMapNode

var background = childNode(withName: "Background") as! SKTileMapNode
var player = SKSpriteNode(imageNamed: "player") as! SKSpriteNode

我想将玩家移动到背景中的行位置5和列位置8,最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

首先,您可以检索指定磁贴的位置,并创建一个在播放器节点上运行的移动操作。

let destination = background.centerOfTile(atColumn: 8, row: 5)
let action = SKAction.move(to: destination, duration: 5)

player.run(action)

然后您可以查看UITapGestureRecognizer,以便玩家可以移动到您点击地图的位置。