我刚刚开始了一个项目,并添加了以下几行代码:
override func didMoveToView(view: SKView) {
let myNode = SKNode()
myNode.position = CGPoint(x: 250.0, y: 300.0)
addChild(myNode)
let mySprite = SKSpriteNode(imageNamed: "Spaceship")
mySprite.position = CGPoint(x: 0, y: 0)
mySprite.zPosition = 1
myNode.addChild(mySprite)
let myOtherSprite = SKSpriteNode(imageNamed: "Spaceship")
myOtherSprite.position = CGPoint(x: 50.0, y: 50.0)
myOtherSprite.zPosition = 2
myNode.addChild(myOtherSprite)
}但是精灵不会出现在场景中。这里有什么问题?我检查了我的代码几次,我认为没有错误。
发布于 2015-12-20 21:28:40
将scene.size = skView.bounds.size添加到GameViewController的viewDidLoad方法中,使其如下所示:
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Fix Size */
scene.size = skView.bounds.size
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
}正如Knight0fDragon在下面提到的,这将影响autoLayout的工作方式,因此它可能不适用于所有解决方案。
https://stackoverflow.com/questions/34379656
复制相似问题