我正在尝试向场景中添加几个节点。当我运行应用程序时,我只有默认的灰色背景。这两个节点都不会出现在场景中。这就是我所拥有的:
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */
let jumper = SKSpriteNode(imageNamed:"Jumper")
jumper.xScale = 0.25
jumper.yScale = 0.25
jumper.position = CGPointMake(50, 300)
self.addChild(jumper)
let blob = SKSpriteNode(imageNamed:"Blob")
blob.position = CGPointMake(160, 30)
blob.xScale = 0.5
blob.yScale = 0.25
self.addChild(blob)
}
我检查了图像标题,一切都正确。
答案 0 :(得分:9)
问题
您的精灵不可见,因为您的场景并非完全位于模拟器的窗口内。默认情况下,场景的大小为1024 x 768(由GameScene.sks指定),而模拟器仅显示375 x 667点(如果您选择了iPhone 6 / 6s模拟器)。除非正确设置了场景的大小,否则模拟器窗口的左下角将不是场景的(0,0)位置。
要解决此问题,
方法1:
在GameScene.sks中更改场景的大小属性以匹配视图的大小。我建议你将场景大小设置为375 x 667(iPhone 6 / 6s)。如果您执行此操作并将场景的scaleMode
属性设置为.AspectFill
(默认值),SpriteKit将自动缩放场景以适合iPhone 6 +,6s +,5的视图和5s。这将节省您将游戏移植到这些设备的时间。
方法2: 在视图控制器中,替换此
scene.scaleMode = .AspectFill
用这个
scene.scaleMode = .ResizeFill
警告:使用此方法可行,但可能需要额外的工作才能将游戏移植到屏幕尺寸不同的其他iOS设备上。