1 sprite-kit skspritenode swift
我试图在场景中添加几个节点.当我运行应用程序时,我只有默认的灰色背景.这两个节点都不会出现在场景中.这是我有的:
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)
}
Run Code Online (Sandbox Code Playgroud)
我检查了图像标题,那里的一切都是正确的.
0x1*_*41E 10
问题
您的精灵不可见,因为您的场景并非完全位于模拟器的窗口内.默认情况下,场景的大小为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
Run Code Online (Sandbox Code Playgroud)
有了这个
scene.scaleMode = .ResizeFill
Run Code Online (Sandbox Code Playgroud)
警告:使用此方法可行,但可能需要额外的工作才能将游戏移植到具有不同屏幕大小的其他iOS设备.
| 归档时间: |
|
| 查看次数: |
3780 次 |
| 最近记录: |