首页 文章

这个Swift w / SpriteKit代码没有达到预期目的

提问于
浏览
1

我是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图像 .

所以在教程中,这段代码为场景添加了一个太空飞船 . 但是,当我运行模拟器时,场景仍为空白 . 可能是什么问题?如果需要更多信息,请说明,我会提供 .

2 回答

  • 0

    它可能正常运行,你只是无法在屏幕上看到它 . 根据您正在模拟的设备,您可能会在屏幕上显示太空飞船 . 尝试使用其他更小的设备进行模拟,并检查是否可以看到它 .

  • 1

    尝试进入你的 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)
            }
        }
    }
    

相关问题