IgorBee
@IgorBee
JS,VBS,3D.Web с 07.2015

Почему JS медленно меняет img.src?

var currentRock= document.querySelector('.rokcs:nth-child(1)');
        
        
        currentRock.style.cssText="background: url('img/rock/two_brown_rocks_Sprite.svg');\
background-position:-"+countingDestructiom+"px 0px;\
background-repeat: no-repeat;   background-size: 399%;\
display: block; \
height: 89px;     left: 343px;    width: 200px;    top: -81px;\
position: absolute;";
        currentRock.src="";


Очень медленно подменивает картинку...
Лаг очень заметен,да и какие то на бордере серые линии пунктирные...

как можно улучшить?
Чувствуются лаг в 500мс ,плавности нет....
Нажмите S 3 раза для стрельбы
isc.96.lt/t/gam/mar
Спасибо.
  • Вопрос задан
  • 258 просмотров
Пригласить эксперта
Ответы на вопрос 2
EugeneP2
@EugeneP2
Java Dev
Рекомендую поразбираться с такой штукой как спрайты. Это одна большая картинка на которой отображены сразу все элементы в разных их состояниях. Браузер грузит только её, а не кучу картинок. Если вам нужно отобразить какой то элемент, вы просто смещаете картинку в нужном направление относительно области, где вы хотите отобразить этот элемент. В общем в различных анимированных менюшках на сайте, спрайты помогают избавится от лага.

Не знаю, понятно ли объяснил...

21be1cd1d5a5469d8b41fe360c862b9d.png
Ответ написан
@yeti357
Скорее всего лаг связан с тем, что браузер загружает картинку, после смены src, он ведь ничего о ней не знает, до появления пути к картинке. Выше верный выход подсказали со спрайтом.
Ну и посмотрите в сторону canvas. Всё же использовать дом для игр ресурсоёмко.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект