2016-07-01 3 views
0

В настоящее время я работаю над этой игрой, и у меня возникают проблемы с загрузкой изображения. Или я должен сказать «dis-loading?»Как Phaser: изменить файл изображения

У меня был этот файл с изображением 'circle', и я использовал этот файл изображения для создания спрайта 'ball'. Я удалил этот файл «круг» и поместил новый файл и переименовал его в «круг». В принципе, я его заменил.

НО, когда я сохраняю свою работу и обновляю свою игру, она по-прежнему использует старый файл, хотя это уже не в моей папке с активами! Когда я меняю имя файла на что-то еще, например «circle1», он снова работает снова (это означает, что загружается новое изображение). И затем, когда я переключаюсь обратно на «круг», он возвращается к старому изображению.

game.load.image('circle',  'assets/circle.gif'); 

P.S. Я попытался перезагрузить свой компьютер и мой сервер MAMP.

ответ

1

Это происходит потому, что браузер кэширует активы. В основном, браузер сначала смотрит в кеш, видит, что файл с этим именем и этим URL-адресом уже существует и решает, что ему не нужно обращаться к серверу и, таким образом, он показывает старый файл. Очистите кеш браузера, и вы увидите новый файл.

Обходной с точки Phaser зрения можно было бы добавить простой версий в файлы, так что вместо

game.load.image('circle', 'assets/circle.gif');,

выполнить следующие действия:

var version = 1; 
game.load.image('circle', 'assets/circle.gif' + '?' + version); 

и изменить version ' при каждом изменении актива.

+1

Спасибо за отличное решение. Вот что я нашел. Если вы откроете режим инкогнито (секретный режим), вы не сохраните ни один из этих файлов кеша, чтобы он обновлял изображение каждый раз. –

0

Понадобилось время, чтобы разобраться. (Все еще не уверен)

Я думаю, что если я создам новый спрайт с изображением, он позволит новому файлу изображений заменить все старые. Я не знаю почему. Пожалуйста, объясните мне, знаете ли вы, почему и точный способ исправить это.

Смежные вопросы