所以我试图学习Swift和Sprite工具包,我开始学习Apple教程(您可能需要登录Apple Developer): https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/GettingStarted/GettingStarted.html#//apple_ref/doc/uid/TP40013043-CH2-SW1
我将从Obj-C给出的代码翻译成Swift并且它工作得很好但是我的SKLabelNode名为helloNode并没有出现,尽管Sprite工具包告诉我场景中确实有1个节点。
以下是代码:
class HelloScene: SKScene {
var contentCreated = false
override func didMoveToView(view: SKView) {
if(!self.contentCreated) {
createSceneContents()
contentCreated = true
}
}
func createSceneContents() {
self.backgroundColor = SKColor.blueColor()
self.scaleMode = SKSceneScaleMode.AspectFit
self.addChild(newHelloNode())
}
func newHelloNode() -> SKLabelNode {
let helloNode = SKLabelNode(fontNamed: "Chalkduster")
helloNode.text = "Hello, World!"
helloNode.fontSize = 42
helloNode.fontColor = SKColor.whiteColor()
helloNode.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame))
return helloNode
}
}
HelloScene已实例化并成功添加到主View Controller。
谢谢!
答案 0 :(得分:2)
我有同样的问题。问题在于xcode 6中的自动布局。在设置自动布局设置之前正在加载场景。在ViewController中将场景初始化和presentScene置于viewDidLayoutSubviews中,如下所示:
/api