由于未知原因,当我去使用场景编辑器为命名子画面指定纹理时,Xcode 10一直崩溃。在不得不删除并重新创建.sks文件几次之后,我决定尝试使用Xcode的游戏模板重现该问题。我执行此操作的步骤如下:
将任何图像资产拖放到 Assets.xcassets 中。我用了这个绿色方块:
关于堆栈溢出的其他类似问题:
Xcode is crashing in SpriteKit
XCode 9 Crashing while setting a Texture in SKScene in Spritekit
如果我在分配纹理之前未为颜色精灵设置名称,则一切正常。但是,如果Xcode被迫崩溃至少一次,我必须完全删除.sks文件,只是为了再次打开Xcode。
暂时,我决定一起避免麻烦,只是在我的SKScene类的didMove(to :)中以编程方式分配纹理:
override func didMove(to view: SKView) {
let greenSquare = childNode(withName: "square_green") as! SKSpriteNode
greenSquare.texture = SKTexture(imageNamed: "square_green")
}
答案 0 :(得分:1)
我遇到了同样的问题,后来我将图像从Assets.xcassets中移出,问题解决了。我猜图像不能放在Assets.xcassets中。