Помогите найти ошибку в коде. На компьютере всё работает нормально, но на сенсорных устройствах звук воспроизводится только во втором случаи.
Код определяет когда совпадают координаты персонажа с игровыми объектами. В первом случаи они увеличивают кол-во очков, а во втором отнимают жизни главного героя.
var soundFlag = true;
var meow = new Audio('assets/sounds/meow1.mp3');
meow.volume = 0.2;
var eating = new Audio('assets/sounds/eat.mp3');
eating.volume = 0.2;
//1-ый случай
for (i in game.goodfood) {
game.goodfood[i].y += 2;
//border
if (game.goodfood[i].y >= 710) game.goodfood.splice(i, 1);
if (Math.abs(game.cat.x + 80 - (game.goodfood[i].x + 12)) < 45 && Math.abs(game.cat.y + 40 - game.goodfood[i].y) < 40) {
game.goodfood.splice(i, 1);
game.score++;
$('.score').html(game.score);
//Play sound
if (soundFlag) {
eating.pause();
eating.play();
soundFlag = false;
}
}
}
//2-ой случай
for (i in game.badfood) {
game.badfood[i].y += 2;
//border
if (game.badfood[i].y >= 710) game.badfood.splice(i, 1);
if (Math.abs(game.cat.x + 55 - (game.badfood[i].x + 12)) < 45 && Math.abs(game.cat.y + 40 - game.badfood[i].y) < 40) {
game.badfood.splice(i, 1);
game.cat.health.hp++;
if(game.cat.health.hp == 4) {
game.cat.health.hp=0;
game.score = 0;
$('.score').html(game.score);
}
//Play sound
if (soundFlag) {
meow.pause();
meow.play();
soundFlag = false;
}
}
}