需要帮助解决:线程1:在Swift3沙箱项目中发出SIGABRT信号

时间:2016-09-30 20:46:22

标签: ios swift xcode sprite-kit swift3

我是Swift的新手,我试图玩游戏,以获得一些经验。

但是,我陷入了一个小沙盒项目,在那里我尝试将Spaceship图像添加到屏幕上,这导致以下错误:

AppDelegate.swift: 线程1:信号SIGABRT

控制台:

  

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'尝试添加已经拥有父级的SKNode:name:'(null)'texture:['Spaceship'(394 x 347)]位置:{0 ,0}比例:{1.00,1.00}大小:{394,347}锚:{0.5,0.5}旋转:0.00'

在你看一下之前,我想说;谢谢你的时间。

我的代码在 GameScene.swift

中看起来像这样
import SpriteKit
import GameplayKit

class GameScene: SKScene {

    var entities = [GKEntity]()
    var graphs = [String : GKGraph]()

    private let spaceShip = PlayerNode.newInstance()

    override func sceneDidLoad() {

        spaceShip.shipPosition(point: CGPoint(x: frame.midX, y: frame.midY))

        addChild(spaceShip)

    }

    override func update(_ currentTime: TimeInterval) {
        // Called before each frame is rendered
    }
}

就像这样,在 player.swift

import Foundation
import SpriteKit

class PlayerNode: SKSpriteNode {

    public static func newInstance() -> PlayerNode {

        let spaceShip = PlayerNode(imageNamed: "Spaceship")

        return spaceShip

    }

    public func shipPosition (point: CGPoint) {

        position = point

    }
}

0 个答案:

没有答案