Во время раннего развития моей игры я не особо задумывался о том, как игра будет приостановлена в случае прерывания игрока. Я подумал, что это не должно быть чем-то слишком сложным, поэтому я оставил это как то, на что я посмотрю, как только я закончу ядро игры.
Я сейчас здесь и пытаюсь найти способ приостановить мою игру, с моей точки зрения, в любом случае очень сложно.
На данный момент я следовал нескольким учебникам, чтобы добраться туда, где я нахожусь сегодня, в основном учебники от ASGamer . Учебное пособие по экрану с предварительным загрузчиком и меню, которое можно найти на этом сайте, является тем, что я использовал, и до сих пор у меня было несколько проблем, о которых я расскажу позже.
В любом случае, мне трудно обернуть голову, как я смогу приостановить или приостановить игру, когда пользователь нажимает назначенную клавишу. Думаю, мне следует объяснить, как функционирует моя игра.
У меня есть 3 кадра в основной временной шкале.
Первый кадр для прелоадера, простой.
Второй кадр - это место, где находится игра. У него есть мой актив и все мои скрипты запускаются в этом кадре.
Третий кадр - стоп (); действие.
Как только прелоадер заканчивает работу, запускаются «Экраны меню», это руководство, которому я следовал. Он загружает и выгружает мувиклипы с помощью UnLoad () и Load ().
Я использую Load (), чтобы загрузить главное меню, которое происходит в начале, затем использую UnLoad (), чтобы выгрузить текущее меню, а затем загрузить следующее назначенное меню, например Главное меню -> Игра, которую я использую Unload(new GameMenu(stage));
С этими меню все время переходят вперед и назад, поэтому иногда это сбивает с толку.
В GameMenu, откуда я запускаю игру, я создал класс GamePlay, расширяющий MovieClip. Оттуда он порождает игроков и врагов и играет как обычная игра, вот тут и начинается моя проблема.
Сначала я попытался создать обработчик клавиш, чтобы получать нажатия клавиш от пользователя. В какой-то момент это сработало, нажатия клавиш регистрировались, но после того, как я внес некоторые изменения в другие скрипты, нажатия клавиш больше не распознавались. Поэтому я переместил нажатия клавиш на свой Main.as, который является основным скриптом, который использует мой fla. События на клавиатуре работают нормально, но теперь фактически останавливают игру ... как мне вообще начать? Мне бы пришлось остановить все мувиклипы и списки событий, пока пользователь снова не нажмет назначенную кнопку паузы, как мне это сделать?
Я где-то читал, что использование конечных автоматов - лучший выбор для паузы в любой игре, но я не уверен, как это сделать, но я уверен, что есть учебники и блоги, которые я могу прочитать, чтобы сделать конечный автомат. , но если бы я добавил один или сделал один, пришлось бы мне переделывать весь мой код, чтобы приспособить конечные автоматы?