为简单起见,假设我有一个SKSpriteNode和一个类似的SKTileMapNode
var background = childNode(withName: "Background") as! SKTileMapNode
var player = SKSpriteNode(imageNamed: "player") as! SKSpriteNode
我想将玩家移动到背景中的行位置5和列位置8,最好的方法是什么?
答案 0 :(得分:2)
首先,您可以检索指定磁贴的位置,并创建一个在播放器节点上运行的移动操作。
let destination = background.centerOfTile(atColumn: 8, row: 5)
let action = SKAction.move(to: destination, duration: 5)
player.run(action)
然后您可以查看UITapGestureRecognizer
,以便玩家可以移动到您点击地图的位置。