我是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
}
}