在SpriteKit游戏中如何实现滚动效果?

4
我正在构建一个有两个屏幕的SpriteKit游戏。在第一个屏幕中,玩家应该通过水平滚动选取6-7个机库中的一个。当选择一个后,一个新的SKScene将出现并显示实际的游戏画面。对于滚动 - 一个机库应该处于中心位置,而另外两个则从两侧部分显示。
可以使用UIScrollView在SKScene之上完成吗?还是最好使用sprite节点来完成?我只是不确定如何最好地处理Sprite Kit中的用户界面。

1
在iOS上,您只能运行一个场景和一个SKView,没有分屏/分视图或双场景/双视图功能。如果您正在寻找这个功能,您需要像Tibor的答案一样使用节点和精灵以及覆盖框架来“模拟”分屏,并可能适当地管理zPosition。 - CodeSmile
1
还可以看一下这篇帖子,了解在Sprite Kit中UIScrollView的一些巧妙用法:https://dev59.com/h2Ik5IYBdhLWcg3wqPoi 还有这个示例GitHub项目 - Batalia
谢谢大家,我会尝试跟随 Timor 的建议,暂时使用节点。 - DocForNoc
1个回答

1

我会将机库放置在SKNode的子级中,然后通过滑动来移动这个SKNode以及它所有的子节点。

如果您想要描述的定位方式,在滑动停止时,我会使用SKAction将最靠近屏幕中央的机库居中。

我之所以这样做是因为我认为只有在必要时才应该混合使用UIKit,因为:

  • 更容易移植到OSX
  • 不需要在不同的坐标系之间进行转换

谢谢。我现在想采用你的方法。 - DocForNoc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接