gpt4 book ai didi

ios - 突然无法读取文件了

转载 作者:行者123 更新时间:2023-11-30 12:29:16 25 4
gpt4 key购买 nike

我正在开发一款小游戏,一开始它运行得非常完美。它可以很好地加载 sks 文件和声音文件。但经过几分钟的测试,我开始收到“加载声音资源时出错”的消息,并且粒子效果全部消失。

我以为可能是内存问题,然而游戏只占用了120M左右,而且我还没有收到任何内存警告。

那么它怎么可能在开始时能够读取文件,但几分钟后就无法读取呢? SpriteKit 中是否有我不知道的棘手内容?比如成功加载一百个文件后,游戏就无法再读取任何文件,直到用户摇动iPhone两次并将其翻转过来......如果是真的,我可能会在游戏教程中告知玩家这样做...... .

谁能帮我解决这个问题...?非常感谢...

// The way I load background music:

let musicPath=Bundle.main.path(forResource: "Main", ofType: "mp3")
let url = URL(fileURLWithPath: musicPath!)
do{
try main=AVAudioPlayer(contentsOf: url)
}catch{
return
}

// The way I load sound files:

let a = SKAction.playSoundFileNamed("Fire",waitForCompletion:false)
audioNode.run(a)


// The way I load SKS files:

let emitterPath = Bundle.main.path(forResource: "Fire", ofType: "sks")!
let emitter = NSKeyedUnarchiver.unarchiveObject(withFile: emitterPath) as! SKEmitterNode
self.addChild(emitter)

最佳答案

如果没有看到您的代码,很难说,但如果您打开大量文件读取器,您可能会耗尽内存或使文件无法访问,直到从文件读取的其他节点消失为止。

您是否知道每次渲染音频节点时是否都会创建新的音频节点?

Apple 文档建议您创建一个可重复使用的 SKAction。因此,如果您需要重用 Fire 操作,我将创建它的单例并一遍又一遍地运行该单个对象,而不是一次又一次地分配新的 SKAction。

Source

关于ios - 突然无法读取文件了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43796105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com