Как сделать фон в pygame

Обновлено: 08.07.2024

Python на практике: используйте pygame для создания начального игрового интерфейса (1)

После изучения Python в течение определенного периода времени ему все еще нужны некоторые практические ссылки для глубокого понимания. В конце концов, я новичок, который только начинает. Позвольте мне начать с нескольких простых игровых проектов, чтобы немного подбодрить себя. Хахаха, давайте не будем говорить об этом, служить.

  • Создайте окно Python с синим фоном
    Сначала используйте pycharm для создания файла проекта. Метод именования лучше всего соотносить с проектом, который вы делаете, как известно из названия.
    Сначала создайте пустое окно pygame и установите его цвет фона (цвет фона можно настроить, а цвет RGB получается через Baidu)

Метод pygame.event.get () используется для обнаружения пользовательских событий и определения операций, выполняемых пользователем.
Метод screen.fill () заполняет экран цветом фона.
Код содержит следующие процессы:

  1. Импорт модуля (модули, которые нам нужно использовать в настройках игры ниже, вот два, модуль pygame содержит функции, необходимые для разработки игры, а модуль sys используется для выхода из игры)
  2. Инициализировать игру и создать экранные объекты (установить свойства экрана)
  3. Откройте игровой цикл (обнаруживайте действия пользователя, обновляйте экран)



Результат показан на рисунке. Размер окна можно настроить в соответствии с вашими потребностями.
Если есть еще много функций, которые нужно добавить позже, вы можете подумать о создании некоторых классов для хранения разных функций по отдельности, чтобы при необходимости большого количества изменений функций они не казались загроможденными и код может быть и прочнее. Поскольку здесь нет необходимости реализовывать большое количество функций, нет необходимости создавать отдельный класс для хранения кода.

  • Поместите изображение в центр экрана и установите такой же цвет фона
    Добавьте изображение на экран и создайте класс корабля для управления настройками изображения, см. код.
    ship.py

Примечание. Определите метод __init __ (). (Содержит два формальных параметра: self, screen. Метод __init __ () принимает значения этих формальных параметров и сохраняет их в атрибутах экземпляра, созданных в соответствии с этим классом), __ - два символа подчеркивания, и только один вводится изначально. Давно искал ошибку.


Реализуя эти две небольшие функции, мы используем множество методов в модуле pygame и напрямую вызываем методы, которые были установлены в модуле для реализации функций. Это действительно обеспечивает большое удобство, поэтому, когда вы хотите Напишите сложную игру самостоятельно. Важно понимать функции каждого модуля и каждого метода. Конечно, если вы напишете больше, это произойдет естественным образом.
Взгляните на визуализации:

Изображение центрируется, а цвет фона не регулируется. При выборе изображения лучше, если фон будет прозрачным. Формат изображения должен быть растровым (т. е. суффикс .Bmp). Конечно, можно также добиться перемещения картинок вверх, вниз, влево и вправо. Я не буду писать их здесь по очереди. Я расскажу об этом в обновленных блогах. На самом деле, в этих блогах нет технический уровень, просто примечание и добавление некоторого понимания., это удобно для использования в будущем, и, кстати, может углубить впечатление.
Один Леле не так хорош, как остальные: писать - это музыка, комментировать - это музыка, видеть - это музыка, музыка - это самое важное.

Загрузите фоновое изображение (например, 'background.jpg'), отмасштабируйте его до размера экрана с помощью pygame.transform.smoothscale и blit это на поверхности дисплея:

Кроме того, вы должны реализовать цикл приложения, и сцену нужно перерисовывать в каждом кадре. Типичный цикл приложения PyGame должен:

Для каждого кадра вашей игры вам нужно будет сделать какой-то вызов очереди событий. Это гарантирует, что ваша программа может внутренне взаимодействовать с остальной частью операционной системы.

new для pygame просто интересно, как я собираюсь добавить фоновое изображение в саму игру? это мой код до сих пор, я использовал bg как способ импортировать свое изображение, но сам файл py отказывается загружать.

3 ответа

Эта проблема может быть легко решена. Для вашего фона вам понадобится изображение размером с экран. Не забудьте добавить pygame.init() в начале игры, чтобы начать ее и свои способности. Функция для этого изображения может быть использована следующим образом:

Это позволит программе загружать ваше изображение с помощью этой функции, когда вы вызываете ее следующим образом:

И вам также понадобятся эти две строки в вашем цикле while :

Это заполнит ваш белый экран и поместит фоновое изображение поверх него, но под ваши другие спрайты и объекты.
Предложения: Вы должны сделать другой класс для своего другого спрайта (возможно, причина, по которой изображение не появляется). Пример может выглядеть следующим образом:

Затем вы можете активировать его так:

Выберите координаты для a и b . Затем вы можете разжечь изображение на экране, как это, но после вашего фона blit statement:

В уроке мы добавим картинки в игру, а также поработаем над анимацией. Мы создадим персонажа, который будет анимировано передвигаться по сцене, а также добавим задний фон.

Видеоурок

Для использования спрайтов необходимо добавить метод blit() . Он принимает два параметра:

  1. Картинку для отображения;
  2. Позиция в которую будет помещена картинка.

Для анимации картинок и создания эффекта передвижения можно использовать фреймы, которые срабатывают одинаковое количество раз за секунду. В нашем случае мы использовали значение 30 фреймов, что говорит о частоте обновления, равной 30 кадрам за секунду.

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