我想学习SpriteKit并遵循本教程,我已经将教程中的相同代码复制并粘贴到GameScene.swift中,并将忍者的图片移动到Assets.xcassets中。然而,当我收到两个错误时,
在我运行它之前,我得到
强制将
SkView
强制转换为相同类型对
没有影响
在我运行它之后,我还会得到
线程1: EXC_BAD_ACCESS(code=2、address=0x7ffeed594fa8
当我运行它的时候,应用程序就是空白的。应用程序应该显示FPS计数和NodeCount吗?下面是我的代码:
import SpriteKit
import GameplayKit
class GameScene: SKScene {
override func didMove(to view: SKView) {
let scene = GameScene(size: view.bounds.size)
let skView = view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .resizeFill
skView.presentScene(scene)
}
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
}
}
所有这些代码都是GameScene.swift的,如果有人能帮我,那就太好了!更新:我正在使用Swift 4
发布于 2018-06-09 21:49:16
看起来你有一个无限的递归。注意,您已经有了一个GameScene
实例,但是在didMove
中,您正在创建另一个GameScene
,您将再次呈现该GameScene
,该and将再次出现在视图中,并再次调用didMove
,依此类推。我认为你的代码应该是这样的:
override func didMove(to view: SKView) {
self.size = view.bounds.size
view.showsFPS = true
view.showsNodeCount = true
view.ignoresSiblingOrder = true
self.scaleMode = .resizeFill
}
https://stackoverflow.com/questions/50774308
复制相似问题