我目前正在制作这款游戏而且我在处理图片时出现问题。或者我应该说“卸载?”
我有这个图像文件'circle',我使用这个图像文件来创建精灵'ball'。我删除了这个文件'circle'并放入新文件并将其重命名为'circle'。基本上,我更换了它。
但是,当我保存我的工作并刷新我的游戏时,它仍然使用旧文件,虽然它不在我的资产文件夹中了!当我将文件名更改为'circle1'之类的其他内容时,它会突然再次起作用(意味着加载了新图像)。然后当我切换回'circle'时,它会回到旧图像。
game.load.image('circle', 'assets/circle.gif');
P.S。我尝试重新启动计算机和MAMP服务器。
答案 0 :(得分:1)
这是因为浏览器缓存了资产。基本上,浏览器首先在缓存中查找,看到具有此名称的文件和此URL已经存在,并确定它不需要转向服务器,因此它会显示旧文件。清除浏览器的缓存,您应该会看到新文件。
从Phaser的观点来看,解决方法是在文件中添加简单版本,而不是
game.load.image('circle', 'assets/circle.gif');
,
您执行以下操作:
var version = 1;
game.load.image('circle', 'assets/circle.gif' + '?' + version);
每次更改资产时都会更改version
的值。
答案 1 :(得分:0)
花了一段时间才弄明白。 (仍然不确定)
我认为如果我用图像创建一个新的精灵,它会让新的图像文件替换掉所有旧的精灵。我不知道为什么。如果您知道解决问题的原因或确切方法,请解释我。