【问题标题】:how to agroup SKShapeNodes in swift sprite kit如何在 swift spritekit 中对 SKShapeNode 进行分组
【发布时间】:2015-03-31 21:37:35
【问题描述】:

SWIFT - Sprite 工具包

我需要创建 2 个或更多 SKShapeNode 的列。我需要对它们进行分组,因为每一列节点都会有一个动作。

我知道如何创建矩形的 shapenodes,但我不知道如何将 shapenodes 分组并有一列带有 shapenodes..

在这里我会张贴一张照片,因为我的英语不太好让你理解我

【问题讨论】:

    标签: xcode swift skshapenode


    【解决方案1】:

    您可以为每个组创建一个父节点:

    var xPosiColumn1:CGFloat = 100
    var firstGroup = SKSpriteNode()
    firstGroup.position = CGPointMake(xPosiColumn1, self.frame.width/2)
    

    然后,将节点添加到组中:

    var firstNode = SKSpriteNode(color: UIColor.redColor(), size: CGSizeMake(40, 100))
    var secondNode = SKSpriteNode(color: UIColor.redColor(), size: CGSizeMake(40, 40))
    var thirdNode = SKSpriteNode(color: UIColor.redColor(), size: CGSizeMake(40, 100))
    
    firstNode.position = yourPosition
    //... second etc...
    
    firstGroup.addChild(firstNode)
    firstGroup.addChild(secondNode)
    firstGroup.addChild(thirdNode)
    

    然后您必须设置内部节点的位置(第一、第二、第三)。您不必设置 x 位置,因为该位置是相对于父节点的。所以你只需要设置 y 位置。

    firstNode.position.y = 100
    

    重要的是要知道SKSpriteNode 坐标 0/0 位于节点的中心。

    如您所见,我使用 SKSpriteNode 而不是 SKShapeNode。我强烈建议您使用SKSpriteNode,因为您有更多的可能性。但是你当然可以对 SKShapeNodes 做同样的事情。

    【讨论】:

    • 非常非常感谢。我完全理解。
    • 如果您能帮助我解决另一个问题,请见谅。我需要在 2.0 (waitforduration) 的时间间隔内创建这些列,并且我需要随机创建这些列,例如:第 1 列,等待 2 秒,第 3 列,等待 2 秒,第 2 列,等待 2 秒,列3...从右到左。我已经知道如何移动列,但我不知道如何随机创建它们并设置时间间隔。谢谢!!!
    • 很高兴我能帮上忙。对于你的其他问题,你应该问另一个。因为这是另一个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多