Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.01.2019, 14:15
Кандидат Javascript-наук
Отправить личное сообщение для Retro_1477 Посмотреть профиль Найти все сообщения от Retro_1477
 
Регистрация: 14.04.2018
Сообщений: 113

Не работает звук на телефоне
Помогите найти ошибку в коде. На компьютере всё работает нормально, но на сенсорных устройствах звук воспроизводится только во втором случаи.

Код определяет когда совпадают координаты персонажа с игровыми объектами. В первом случаи они увеличивают кол-во очков, а во втором отнимают жизни главного героя.


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;
        }
      }
    }

Последний раз редактировалось Retro_1477, 02.01.2019 в 14:16. Причина: отредактировал код
Ответить с цитированием
  #2 (permalink)  
Старый 04.01.2019, 13:56
Кандидат Javascript-наук
Отправить личное сообщение для Retro_1477 Посмотреть профиль Найти все сообщения от Retro_1477
 
Регистрация: 14.04.2018
Сообщений: 113

О БОЖЕ! Я понял, смотрите в чём баг. У меня есть кнопка "Начать игру" при нажатии которой воспроизводится один звук meow. При этом в самой игре работал только звук meow, а eating не работал. Думаю вы уже поняли как я это фиксанул. Вставил в кнопку воспроизведение обоих звуков и они теперь корректно работают на всех платформах
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
innerHTML для TR в InternetExplorer не работает? Непонятливый Элементы интерфейса 3 15.10.2012 17:14
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41