【问题标题】:Gamescene spriteNodes in array数组中的游戏场景精灵节点
【发布时间】:2018-04-05 20:03:58
【问题描述】:

在这段代码中出现错误。 我不想手动(在代码中)通过 GameScene.sks 上的 spriteNode - for 循环必须以某种方式工作?任何想法...

let sprites:[SKSpriteNode] = [block1, block2, block3, block4,
    block5, block6, block7, block8, block9, block10, block11,
    block12, block13, block14, block15, block16, block17,
    block18, block19, block20, block21, block22, block23,
    block24, block25, block26, block27, block28, block29, 
    block30, block31, block32, block33, block34, block35,
    block36, block37, block38, block39, block40, block41,
    block42, block43, block44, block45, block46, block47,
    block48, block49, block50, block51, block52, block53,
    block54, block55, block56, block57, block58, block59,
    block60, block61, block62, block63, block64, block65,
    block66, block67, block68, block69, block70, block71,
    block72, block73, block74, block75, block76, block77,
    block78, block79, block80, block81, block82, block83, block84]

for sprite in sprites {
    self.sprite; in sprites = (self.childNode(withName: sprite.name) as? SKSpriteNode)!
    sprite.name = "Green"
    sprite.zPosition = 3
}

【问题讨论】:

  • 错误是什么?该信息需要在您的问题中。并指出导致错误的确切行。
  • 您需要更多信息才能破译。您是否在代码中的任何位置将该数组中的所有项目实例化为 SKSpriteNodes?如果不是,我确定那些应该是字符串而不是对象。这行self.sprite; in sprites = (self.childNode(withName: sprite.name) as? SKSpriteNode)! 也是胡言乱语
  • 你知道场景编辑器支持同时设置多个精灵的属性,是吗?

标签: swift sprite-kit skspritenode


【解决方案1】:

我猜从您描述性不太强的描述中,您的 .sks 文件中有一堆 SKSpriteNode,您想在代码中循环遍历它们以设置它们???

如果这确实是您正在寻找的东西,这样的东西可能更适合您。

let spriteNames: [String] = ["block1", "block2", "block3"]
let sprites = [SKSpriteNode]()

for spriteName in spriteNames {
    if let sprite = self.childNode(withName: spriteName) as? SKSpriteNode {
        sprite.name = "Green"
        sprite.zPosition = 3

        sprites.append(sprite)
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    相关资源
    最近更新 更多