Создание игр с Python + Pygame. Урок 7. Стартовое меню.

Автор Lyudmila Yeriomenko
Создание игр с Python + Pygame. Урок 7. Стартовое меню.

Всех приветствую всем рад и прошу прощения за срыв дела насущные и не очень свалились грузом приятным и не очень времени на уроке постоянно оставалось мало тем не менее продолжал их стряпать стряпаю, а вас не забывай отвечаю на ваши вопросы когда могу сейчас нагрузка немного ослабла и я не хочу снова вас обмануть поэтому обещать не буду в конкретной строки уложиться, но точно буду выпускать уроки чаще если не в неделю полторы — это попробую уложиться в создании очередного выпуска за 2 недели.

Прежде чем начать урок передаю привет тернопольского национального педагогического университета от. Александра Шевченко и от тебя мой кактус также передает. Вам Привет, а теперь об уроках на прошлом занятии.

Мы научились работать со шрифтами и создавать текст в игре, а также создали строку состояния.

Сегодня я расскажу как создать стартовое меню. Казалось бы всего стартовое меню новый этот урок будет сложнее и так погнали каждый цикл. Вайл в котором содержится инструкция по. ЕГЭ Display Flip будет называться сценой по сути. Так оно и есть в нашей игре реализована 1 сцена на которую отображается герои цель. Стрела и прочее на ней же и разворачивается действие то, что отображается на экране и является сценой даже если пусто закрашена одним цветом. Почему я начал говорить о ценах полноценная игра обязательно состоит из нескольких сцен сцена меню и цены игры сцена настроек и прочее вот примеры сцены из моей игры — это сцена меню. А — это сцена игры так вот из всего. Вы наверняка догадались, что меню также реализуется в цикле while. Конечно же — это будет отдельный цикл не игровой теперь пробежимся по схемам организации цены самый простой и банальный способ реализации меню в игре — это сделать цикл меню главным и внутреннего написать игровой цикл — это будет выглядеть примерно так, но этот пост кучу недостатков он неудобен и кот получается громоздким при внесении глобальных изменений возникают проблемы нет возможности использовать — это меню внутри игры. Этот способ сам придумал сам же раскритиковал его использовал в своей первой игре позже разработал другой способ более удобный мобильный заключается он в следующем цены меню можно описать в отдельном классе и в дальнейшем создав объект этого класса можно использовать его в любом месте игрового при этом игровой цикл остается главным глобальные изменения вносить можно без последствий как для меню так и для главного цикла у меня не так давно произошло небось. Я нечаянно снес Ubuntu поставил новую. А мне не оказалось тех прикольных шрифтов которые. Я использовал в прошлый раз не стал заморачиваться и подключил стандартные системные шрифты теперь строка состояния таким вот образом. Заодно и разместил территории движения героя и цели не буду рассказывать как — это сделать предлагаю вам самостоятельно додуматься — это будет небольшой мотивация для вас также внес небольшие изменения в структуру проекта вы могли заметить, что пути к шрифту изображением немного изменились. Всё потому, что я разместил их по отдельным папкам соответственно фонд и. ФМС в основной папке лежат с нами скрипты со всех уроков, а также вспомогательные файлов в которых хранятся наброски на будущее уроки дополнительные материалы в папке fonts файлы шрифтов в папке images изображение. Ну или. Спрайт и тут же вы видите материал для будущего урока создадим класс меню при создании классов обязательно описывать функцию и нет — это функция является конструктором класса в дальнейшем когда создается экземпляр класса и функции не происходит создание этого экземпляра и назначение свойств прописанных в конструкторе инет в каждой функции внутри класса первым и обязательным параметром должно быть слово сел она предназначена для связывания экземпляра класса с переменной то есть создавая экземпляра класса мы получаем конкретный объект с конкретными свойствами ссылку на этот объект при свои перемены которую указываем при создании объекта не будет указано слово сел в переменно не ссылку на созданный объект. А значит взаимодействует с ним не получится и так приступаем к написанию кода пишем класс меню создаем функцию и нет и. Передаем парами селфи и список значений функции объясняю, что значит. Каждый элемент списка список содержит в себе параметры каждого пункта меню по умолчанию заданы параметры для одного пункта первые два значения. Это X и Y координаты по котором будет отображаться пункт. Меню третье значение название пункта 4 — — это основной цвет текста пятое значение — это цвет выделенного пункта. А шестое значение. Это номер пункта нужно для идентификации внутри функции них прописываем свойства функций и и мы. Передаем список через — это свойство теперь можно работать со списком параметров теперь необходимо создать функцию отрисовки всех пунктов меню функция отрисовки назовём render ей будем передавать три параметра 1 название поверхности на которую будем рисовать у нас — это скрин внутри класса меню будем называть её поверхность второй параметр — это экземпляр шрифта и не третий параметр — это номер активного элемента внутри функции Ranger создадим цикл for который будет перебирать все элементы с пунктом в цикле укажем условия в котором будет проверяться совпадает ли номер текущего пункта с номером который был передан функцией если совпадает то закрашивается он цветом элемента иначе закрашивается основным цветом теперь можно создать экземпляр класса отметим комментарием блок подготовки к запуску игры, а перед ним также комментариях отметить создание меню прежде чем создать объект класса меню сформируем список с параметрами для каждого пункта Дана.

0 комментариев
0

Читайте также