上下文
我正在开发一个 SpriteKit 游戏,我想在其中添加一个可滚动区域以显示某些项目(例如,每个项目可以包含图像和标签)。下面的图片准确地描述了我要完成的工作:您选择“篮球图标”,然后可以滚动浏览并选择潜在的球列表(图片后的更多详细信息)< / p>
考虑到这一点,我已经看到了一些实现该目标的建议,但是大多数职位已经过时,而且大多数时候不够详尽,无法有人执行。一些建议包括:
将诸如UIScrollView,UICollectionView或UITableView之类的UIKit元素嵌入到SKScene (在这种情况下,我想我上面提到的我的项目-图像和标签-而不是Skpritekit元素需要自定义单元格)
将UIKit元素(与上面相同)嵌入到位于场景顶部的SKNode叠加层
使用SKCameraNode“模拟”一个可滚动的行为,该行为仅跟随触摸并沿着较大的场景(例如,垂直方向为帧大小的2倍)移动,从而显示其他SpriteKit元素
也就是说,我正在寻找基于以下内容的分步建议:
(a)的经验(例如提供代码段作为答案和/或类似的GitHub示例)
(b)可用的公开教程(youtube /文章)
(c)您认为合适的其他格式
最终,这篇文章和答案可以为所有其他寻求类似实现的人奠定良好的基础。
提前感谢您的时间和精力。干杯
答案 0 :(得分:1)
根据我作为游戏开发者的经验,我建议使用SwiftySKScrollView。
SwiftySKScrollView是一个帮助程序类,用于将UIScrollView添加到SpriteKit场景中。帮助程序将自动将按钮按下操作转发到相关的SKScene和node子类。易于使用和实施。
同样,根据经验,在此类游戏上使用SKCamera也不值得。尝试重现滚动条区域及其所有效果将非常困难且耗时。最后,作为添加UIScrollView的辅助类的SwiftySKScrollView看起来更加平滑自然。