Я сделал простую игру в flex. Вы управляете падающими блоками, и ваша цель - уничтожить вирусы. Это почти копия игры 90-х годов Марио. Я сделал так, чтобы вы управляли блоками с помощью клавиш со стрелками, и вы вращаете блок с пространством. Все работает отлично, как при игре. Однако, когда я переключаюсь на другую программу, и приложение не в фокусе, и я возвращаюсь к игре, всякий раз, когда я нажимаю пространство, игра перезапускается. Это похоже на вызов функции, которая повторно инициализирует игру и сбрасывает все переменные в начальные значения. Игра выполнена с несколькими компонентами NavigationContent, которые действуют как сцены. Игра не возвращается к стартовому экрану, когда я нажимаю пробел, он просто сбрасывает игру. Это действительно странно. Существует ли какой-либо метод по умолчанию, который вызывает это поведение? Кто-нибудь знает?Нажатие пробела делает странные вещи
РЕДАКТИРОВАТЬ: Проблема возникает - как кажется - исключительно, когда я связываю функцию с пробелом (keyCode 32). Я решил проблему, перевязав ключ «CTRL». Но все же было бы здорово узнать, что происходит с ключом SPACE. Игра работает отлично, если я использую Internet Explorer. Другие браузеры не работают с клавишей пробела. Это одна и та же проблема со всеми из них.
EDIT: Это как слушатель событий выглядит:
this.stage.addEventListener (KeyboardEvent.KEY_DOWN, moveBlocksKeyboardEvent);
Даже если я прокомментирую весь код в методе moveBlocksKeyboardEvent, игра все еще перезапускается. Это исключительно при нажатии клавиши SPACE. Если я удерживаю клавишу, блокируют блоки. Когда я выпускаю кнопку пробела, игра перезапускается. Как будто это какой-то метод повторной инициализации, связанный с событием KEY_UP или что-то в этом роде.
Является ли это мобильная игра? Или настольная игра? Или браузерная игра? Является ли клавиша пробела в игровом процессе каким-то образом? ЕСЛИ так, как. Без пересмотра кода трудно даже знать, с чего начать. – JeffryHouser
Нет волшебного слушателя KEY_UP, который прослушивает клавишу SPACE. Самое логичное, что вы добавили это где-то в свой код :) Один из способов подтверждения: сделал ли ключ SPACE что-то, когда вы назначили слушателя клавише CTRL. Вы определили способ сброса игры? Если так прокомментировать этот метод, тогда, когда он компилируется, он будет генерировать ошибку, чтобы вы могли проверить все места, где используется функция сброса ... –