我无法通过Swift将SKSpriteNode显示在我的场景中。
这是我的代码,涉及didMoveToView函数的节点:
let block = SKSpriteNode(color: UIColor.redColor(), size: CGSize(width: 100.0, height: 100.0))
block.position = CGPointMake(100.0, 100.0)
self.addChild(block)
它不会引发任何错误,但我不会看到我的场景中出现的阻止。欢迎任何想法!
答案 0 :(得分:0)
我认为您没有看到它,因为场景比例模式是AspectFill。缩放模式确定场景如何映射到视图。您可以在viewDidLoad函数的GameViewController.swift中找到它并更改或删除它。 节点的默认位置是CGPoint(x:0.0,y:0.0),这意味着节点的中间位于屏幕左下角的那个位置。尝试使用值来查看会发生什么。 我希望我能帮助你。 祝你好运!
答案 1 :(得分:0)
由于GameScene和GameViewController的大小不同,您的问题就出现了。 GameScene-size默认为小。
要解决这个问题,只需在GameViewController
方法的viewDidLoad
- 文件中添加以下行:scene.scaleMode = .AspectFill
scene.size = skView.bounds.size
另外,要在屏幕中间设置节点,请将以下行添加到didMoveToView方法中:
block.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2)
这样,您的节点将位于屏幕的中心。