我是Swift和iOS开发的新手。我正在观看有关Swift和SpriteKit的iOS开发的教程。按照教程我打开Xcode,新项目,游戏,通用;而我改变的只是GameScene.swift。这是新代码:
import SpriteKit class GameScene: SKScene { override func didMoveToView(view: SKView) { /* Setup your scene here */ var node1 = SKNode() node1.position = CGPoint(x: 100, y: 100) self.addChild(node1) var spr1 = SKSpriteNode(imageNamed: "Spaceship") spr1.position = CGPointZero spr1.zPosition = 1 node1.addChild(spr1) } override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { /* Called when a touch begins */ } override func update(currentTime: CFTimeInterval) { /* Called before each frame is rendered */ } }
注意:默认情况下会提供Spaceship图像。
所以在教程中,这段代码为场景添加了一个太空飞船。但是,当我运行模拟器时,场景仍为空白。可能是什么问题?如果需要更多信息,请说明,我会提供。
答案 0 :(得分:1)
它可能正常运行,您无法在屏幕上看到它。根据您正在模拟的设备,您可能会在屏幕上显示太空飞船。尝试使用其他更小的设备进行模拟,并检查是否可以看到它。
答案 1 :(得分:0)
尝试进入GameViewController.swift
并确保您看到以下内容:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFill
scene.size = skView.bounds.size
skView.presentScene(scene)
}
}
}