【发布时间】:2019-08-06 01:05:37
【问题描述】:
作为背景,假设我有一张地图——实际上是一张在我的 SKScene 中渲染的路线图。道路由 SKShapenodes 表示,其路径设置为 CGPoints 数组。我希望用户能够放大/缩小,所以我创建了一个相机节点:
var cam: SKCameraNode = SKCameraNode()
当用户想要通过在触控板上滚动来放大/缩小:
let zoomInAction = SKAction.scale(to: CGFloat(scale), duration: 0.0)
camera?.run(zoomInAction)
这很好用,但是我有一个额外的复杂性,我不确定如何处理。我希望某些节点(例如道路名称标签、图标、地图图例)免于缩放 - 这样当用户放大/缩小道路名称标签时,道路名称标签保持相同大小,而道路形状按比例缩放。
不确定如何处理?我可以有一个场景层次结构,所以一层缩放而另一层不缩放?这可以通过将相机节点附加到“可扩展”层来实现吗?任何帮助表示赞赏!
【问题讨论】:
标签: swift macos scenekit skaction skcameranode