Я пишу игру на Java, и это первая игра, которую я пытаюсь сделать «красивой». Игра называется Bantumi - это настольная игра, и сейчас я программирую анимацию для движений. Проблема заключается в том, что, когда анимация движения запущена, доска все еще получает событие мыши, и если пользователь выбирает новое движение, бегущее будет отброшено.
Для доски я использую класс, расширяющий JLayeredPane. Вот как у меня мои слои:
Слой 0: Отверстия с семенами, поэтому пользователи выбирают одну для движения, каждая из которых является JPanel с MouseListener.
Слой 1: выделение, которое отмечает текущее выбранное отверстие
Слой 2: Анимация движения.
Уровень 10: пользовательский класс системы уведомлений, который я написал, он говорит такие вещи, как «Ваш ход», «Повторить ход», «Вы выиграли» и т. Д.
Я хочу предотвратить любое возможное событие мыши в любом из этих слоев во время работы анимации, как мне это сделать? Я думал, что добавления панели, покрывающей всю область в топовом плеере, было достаточно, но это не сработало. Есть обходной путь?