Slick 2D - .playing() boolean испортил

Я создаю игру с Slick 2D.

Я хочу, чтобы анимация воспроизводилась во время воспроизведения звука. Все работает нормально, звук играет, анимация играет. Однако после этого момента анимация будет воспроизводиться, если воспроизводится ЛЮБОЙ звук. Что здесь происходит?

if (sound1.playing()) {
            exA.draw(700, pY); // Animation plays if sound2.playing()
        } else {
            g.drawImage(idlePic, 700, pY); // Regular picture is drawn if no sound is playing.
        }

Вот где звучит sound2:

if (cvX.length >= 1) {
                for (int j=0;j<cvX.length; j++) {
                    if (checkCatch(cvX[j], cvY[j]) && amount < 10) {
                        cvX = removeElement(cvX, j);
                        cvY = removeElement(cvY, j);
                        amount++;
                        purity++;
                        sound2.play(1.0f, .25f);
                    }
                }
            }

cvX и cvY содержат координаты каждого объекта. Метод checkCatch берет один набор координат и сравнивает его с координатами игрока. Если они достаточно близки, он удаляет объект, добавляет 1 к количеству, добавляет 1 к чистоте (системы оценки) и воспроизводит звук.

0 ответов

Другие вопросы по тегам