【发布时间】:2015-09-30 14:35:51
【问题描述】:
我正在尝试快速添加两个具有各自纹理的 SKSpriteNode,但是在模拟过程中“Blade”没有出现在屏幕上。不过,我可以毫无困难地让“句柄”出现。所以我的问题是,快速添加 self 的孩子的孩子的正确方法是什么,以便一切按预期工作?
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)
}
【问题讨论】:
-
你能试试这样吗:
Blade.position = CGPointMake(Handle.frame.width/2, Handle.frame.height/2)。它应该出现在 Handle 节点的中心。只是看看是否:您将刀片放置得太远,刀片是否正确显示,...)。 PS : 你应该为你的变量采用 lowerCamelCase 语法 -
Blade.position = CGPointZero会将刀片放置在与Handle相同的位置,因为子节点的位置是相对于其父节点的。
标签: swift sprite-kit skspritenode addchild