如何在swift中为自己的孩子添加子孩子

时间:2015-07-12 05:10:38

标签: swift sprite-kit skspritenode addchild

我试图在swift中添加两个带有各自纹理的SKSpriteNodes,但是" Blade"在模拟过程中不会出现在屏幕上。我可以毫不费力地获得" Handle"出现虽然。所以我的问题是,什么是快速添加自我孩子的孩子的正确方法,以便一切按预期工作?

    var Handle = SKSpriteNode(imageNamed: "Handle.png")
    var Blade = SKSpriteNode(imageNamed: "Blade.png") 

    override func didMoveToView(view: SKView) {
    Handle.position = CGPointMake(self.size.width / 2, self.size.height / 14)
    Blade.position = CGPointMake(Handle.position.x, Handle.position.y + 124)

    self.addChild(Handle)
    Handle.addChild(Blade)
}

1 个答案:

答案 0 :(得分:1)

这应该让你接近你期望的地方。

AdaptiveTrigger

请记住,当您向另一个精灵添加精灵时,该位置是该精灵的“内部”位置。如果您不更改从其父级中心开始的锚点。所以你开始在Handle的中心并添加场景的一半宽度。因为Handle已经在场景中居中,刀片已经离场了。

希望这是有道理的,也是有帮助的。

同样lchamp提到你应该lowerCamelCase

Blade.position = CGPointMake(0, 124)

这有助于您将来识别Classes vs Variables。