我与Phaser.js玩游戏。我想清除所有loadState
和bootState
缓存DOM,以删除图片链接。
我实际使用Phaser.Cache
删除了Game
DOM中的所有缓存,但它仍然有效,但loadState
和bootState
缓存仍在那里。
当我使用Phaser.Cache
时game.cache = new Phaser.Cache(game);
game.load.reset();
game.load.removeAll();
清除Game
缓存结果
image Object {__ default = {...},__missing = {...}} __default对象{key =“__ default”,data = img,base = {...},加上...} __missing对象{key =“__ missing”,data = img,base = {...},加上......}
但loadState
和bootState
缓存仍然存在
image Object {__ default = {...},__missing = {...}, background2 = {...},再加上......} __default对象{key =“__ default”,data = img,base = {...},加上...} __missing Object {key =“__ missing”,data = img,base = {...},plus ...} background Object {key =“background”, url =“data:image / jpeg; base64,/ ... q0xYqtMOKrDFiqz0sVf / 9k =”,data = img, 加...}
答案 0 :(得分:1)
你需要清除每个州
game.state.clearCurrentState();
phaser doc说:
此方法清除当前状态,调用其关闭回调。 该过程还会删除所有活动的补间,重置相机,重置 输入,清除物理,删除计时器,如果设置清除世界和 缓存。
您也可以使用
game.state.destroy(); // Removes all StateManager callback references to the State object, nulls the game reference and clears the States object