微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我一直在网上寻找执行此操作的最佳方法,但我无法弄清楚。我正在尝试制作一个水平滚动的字符选择器,如本示例中的 here,它很难从图片中分辨出来,但您可以左右拖动手指,它会滚动到其他字符。

我只需要添加每个角色的图像,如果不是太难,那么可能是一个带有角色名称标签,以及某种触摸手势识别器,用于在您点击时选择一个角色就可以了。

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

我似乎无法弄清楚如何将视图添加到侧滚动滚动视图并让点击手势识别它,如果有人对我将如何做到这一点有任何意见,那就太棒了!

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

解决方法

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

我通常会构建自己的组件,这也是我应对这一挑战的方式。您应该创建一个自定义 SKNode 子类,例如 Picker,您将其实例嵌入到 SKScene 中。在该组件中,您将独立于 SKScene 处理触摸,并以本机方式编写点击、拖放行为。 SKAction 动画将有助于在放置后将正确的“页面”选择对齐到位。

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

我确定周围可能有第三方组件,但如果您打算坚持使用 SpriteKit,我会投入时间进行此类开发。您通常需要深入了解事物的杂草,但这也是乐趣的一部分:)

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。