如何使用 Swift 和 SpriteKit 使视图可滚动以查看带有精灵的完整场景?

How to make a view scrollable to view the full scene with sprites with Swift and SpriteKit?

我有一个现在填充视图的场景:

scene.size = skView.bounds.size scene.scaleMode = .AspectFill

我用精灵从下到上填充场景,在我的上方,它们需要进一步向上 - 在视图之外。

所以我的场景应该与视图具有相同的宽度,但高度应该...固定在 3000 左右。

Sprite 将填满屏幕,我想向上滚动以查看整个场景。

你能给我一个如何"construct"的建议吗?

您应该创建一个节点作为项目中场景的世界,并简单地将 y 坐标向下移动,以产生能够看到更上方场景的错觉。

一些示例代码,你可以看看here

这是一张快速路线图:

  1. 在您的游戏场景中 "didMoveToView" 您想要创建一个 "world" 节点。通过在 class 之外声明它来确保 "world" 节点是一个全局变量。使 "world" 节点大小与所需的完整大小一样大(例如,3000)。
  2. 还在 "didMoveToView" 添加一个捏合手势,最终允许您使用 UIPinchGestureRecognizer"zoom" 那个世界
  3. 创建处理夹点的函数。最终,"recognizer.scale" 应该影响 "world.scale"
  4. 您的所有精灵都应添加到 "world" 节点