如何在SpriteKit中制作水平滚动字符选择器



我一直在网上寻找最好的方法,但我不知道。我正在尝试制作一个水平滚动字符选择器,就像这里的例子一样,它很难从一张图片中分辨出来,但你可以左右拖动你的手指,它会滚动到其他字符。

我只需要添加每个角色的图像,如果不是太难的话,也许可以添加一个标签,上面写着角色的名字,还有一个触摸手势识别器,当你点击它时可以选择一个角色。

最初我想使用一个带有水平堆栈视图的Scrollview,从左到右堆叠UIViews。在每个UIView中都有一个标签上有其名称的字符图像。但我也在想,使用集合视图是否会更容易?

我似乎不知道如何将视图添加到侧滚动滚动视图中,并使点击手势识别它,如果有人对我如何做到这一点有任何意见,那就太棒了!

此外,使用集合视图或堆栈视图会更好吗?或者用另一种我不知道的方式使用SpriteKit?基本上,任何为我指明正确方向的输入都会很棒。非常感谢!

您应该避免在SpriteKit中使用UIKit类,因为它只是一个不同的野兽。此外,SpriteKit使用自己的游戏时间,所以如果你的游戏因任何原因暂停,你都不想依赖其他时间。

我通常会构建自己的组件,这也是我应对这一挑战的方式。您应该创建一个自定义的SKNode子类,比如Picker,将其实例嵌入到SKScene中。在该组件中,您将独立于SKScene和程序以本机方式处理敲击、拖放行为中的触摸。SKAction动画将有助于捕捉正确的";页面";掉落后选择到位。

因此,每当组件检测到点击或滑动选择(拖放结束(时,它就会向您的数据或SKScene父对象发送一个信号,告诉您应该更新选择。

我相信可能会有第三方组件,但如果你打算坚持使用SpriteKit,我会在这种开发上投入时间。你通常需要深入到杂草中,但这也是乐趣的一部分:(。

如果需要的话,我很乐意提供进一步的帮助。

最新更新