gpt4 book ai didi

arrays - 将 SpriteKit 节点动态移动到数组中

转载 作者:行者123 更新时间:2023-11-30 10:08:12 24 4
gpt4 key购买 nike

我正在开发 GameScene,并在场景编辑器中设置了一些节点,因为我想将它们直观地放置在关卡中。这些节点的所有名称都是从“platform1”到“platform5”。根据级别的不同,有或多或少的平台节点。

加载关卡时,我想枚举标题为“platform*”的所有节点,并将它们放入数组中。现在我使用 enumerateChildNodesWithName 但我没有让 block 中的代码正常工作。这是我到目前为止所拥有的:

    enumerateChildNodesWithName("//platform*", usingBlock: {node, _ in
if let platform = node as? PlatformNode {
print(platform.name)
}
})

它打印出以下错误消息:

CUICatalog: Invalid Request: requesting subtype without specifying idiom

但是平台名称没有打印出来。有什么想法可以实现这一点吗?

我的下一个目标是将每个平台放入一个数组中,这样我就可以通过数组访问每个平台的属性。

有人伸出援手吗?

提前致谢...

最佳答案

如果您将平台添加到场景编辑器中的 SKNode 容器中,它们会自动添加到容器的子数组中(按照添加顺序)。然后您可以使用以下方式访问平台

    if let platforms = childNodeWithName("platforms") {
for platform in platforms.children {
print ("\(platform.name)")
}
}

要将平台添加到场景编辑器中的 SKNode,请将 SKNode(列为空)添加到编辑器,设置 SKNode 的名称适当(例如,平台),并通过在编辑器中设置平台的父属性来设置每个平台的父平台(见下图)。

enter image description here

关于arrays - 将 SpriteKit 节点动态移动到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34886966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com