Как импортировать библиотеку pygame в python
Перейти к содержимому

Как импортировать библиотеку pygame в python

  • автор:

 

Introduction to Pygame¶

Pygame is a multimedia library for Python for making games and multimedia applications.

It is a wrapper around the SDL (Simple DirectMedia Layer) library. In this section we indroduce the basics of pygame functions without defining classes and objects.

Import the module¶

To use the methods in the Pygame library, the module must first be imported:

The import statement writes the pygame version and a link to the Pygame website to the console (as a side effect):

The Pygame import statement is always placed at the beginning of the program. It imports the pygame classes, methods and attributes into the current name space. Now this new methods can be called via pygame.method() .

For exemple we can now initialize or quit pygame with the following command:

The function display.set_mode() sets the screen size. It returns a Surface object wich we assign to the variable screen . This variable will be one of the most used variables. It represents the window we see:

You can now run this program and test it. At this moment it does very little. It opens a window and closes it immediately.

Show the event loop¶

The most essential part of any interactive application is the event loop. Reacting to events allows the user to interact with the application. Events are the things that can happen in a program, such as a

  • mouse click,
  • mouse movement,
  • keyboard press,
  • joystick action.

The following is an infinite loop which prints all events to the console:

Try to move the mouse, click a mouse button, or type something on the keyboard. Every action you do produces an event which will be printed on the console. This will look something like this:

As we are in an infite loop, it is impossible to quit this program from within the application. In order to quit the program, make the console the active window and type ctrl-C . This will write the following message to the console:

Quit the event loop properly¶

In order to quit the application properly, from within the application, by using the window close button (QUIT event), we modify the event loop. First we introduce the boolean variable running and set it to True . Within the event loop we check for the QUIT event. If it occurs, we set running to False :

Once the event loop, we call the pygame.quit() function to end the application correctly.

../_images/intro2.png

Define colors¶

Colors are defined as tuples of the base colors red, green and blue. This is called the RGB model. Each base color is represented as a number between 0 (minimum) and 255 (maximum) which occupies 1 byte in memory. An RGB color is thus represented as a 3-byte value. Mixing two or more colors results in new colors. A total of 16 million different colors can be represented this way.

../_images/AdditiveColorMixing.png

Let’s define the base colors as tuples of the tree base values. Since colors are constants, we will write them using capitals. The absence of all colors results in black. The maximum value for all three components results in white. Three identical intermediate values result in gray:

The tree base colors are defined as:

By mixing two base colors we obtained more colors:

At the end of the event loop, we add the following:

The method fill(color) fills the whole screen with the specified color. At this point nothing will be displayed. In order to show anything, the function pygame.display.update() must be called.

../_images/intro3.png

Switch the background color¶

At the beginning of the program we add a new veriable background and initialize it to gray:

Within the event loop we are looking now for KEYDOWN events. If found, we check if the R or G keys have been pressed and change the background color to red (R) and green (G). This is the code added in the event loop:

In the drawing section we use now the variable background representing the background color:

Test the program. Pressing the R and G keys allows you to switch the background color.

Import pygame.locals¶

The pygame.locals module contains some 280 constants used and defined by pygme. Placing this statement at the beginning of your programm imports them all:

We find the key modifiers (alt, ctrl, cmd, etc.)

the number keys:

the special character keys:

the letter keys of the alphabet:

Instead of writing pygame.KEYDOWN we can now just write KEYDOWN .

Use a dictionary to decode keys¶

The easiest way to decode many keys, is to use a dictionary. Instead of defining many if-else cases, we just create a dictionary with the keyboard key entries. In this exemple we want to associate 8 different keys with 8 different background colors. At the beginning of the programm we define this key-color dictionary:

Printing the dictionary to the console gives this result:

The keys are presented here with their ASCII code. For exaple the ASCII code for k is 107. Colors are represented as tuples. The color black is represented as (0, 0, 0).

The event loop now becomes very simple. First we check if the event type is a KEYDOWN event. If yes, we check if the event key is in the dictionary. If yes, we look up the color which is associated with that key and set the background color to it:

Try to press the 8 specified keys to change the background color.

Change the window caption¶

The fonction pygame.display.set_caption(title) allows to change the caption (title) of the application window. We can add this to the event loop:

This will display the RGB value of the current background color in the window caption.

../_images/intro5.png

Explore a simple ball game¶

To show what Pygame can do, here is a simple program which demonstrates a bouncing ball animation. The program uses the Rect class to represent a rectangular region. An instance is created from the ball image:

A Rect object has 4 attributes:

A Rect object can be moved with the move() method:

After importing the pygame module, we define a few variables such as screen size and two colors:

Then we initialize pygame and create the screen variable:

The ball position is represented with a Rect object:

Inside the event loop we only check for the QUIT event:

Then we move the rectangle and check the left/right and top/bottom borders:

Finaly we draw a green background, a red rectangle and the ball image:

This is what the ball and the Rect outline looks:

../_images/intro6.png

Try to understand what the program does. Then try to modify it’s parameters.

Как установить pygame и создать шаблон для разработки игр в Python 3

Библиотека pygame — это модуль с открытым исходным кодом для языка программирования Python, специально предназначенный для того, чтобы помочь вам создавать игры и другие мультимедийные приложения. Созданная на основе чрезвычайно переносимой библиотеки для разработки SDL (Simple DirectMedia Layer), pygame может работать на многих платформах и операционных системах.

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

В этом руководстве сначала будет рассказано об установке pygame в среду программирования Python, а затем будет рассказано о создании шаблона для разработки игр с pygame и Python 3.

Предпосылки

Чтобы иметь возможность использовать это руководство, убедитесь, что у вас уже установлен Python 3 и среда программирования на вашем https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a- локальная среда программирования для python-3 [локальный компьютер] или https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-programming- среда-на-на-убунту-16-04-сервер [сервер].

Вы также должны быть знакомы со следующими концепциями программирования Python:

После настройки среды программирования и знакомства с программированием Python вы готовы начать работу с pygame.

Установка Pygame

Давайте начнем с активации нашей среды программирования Python 3:

С этим активированным, вы можете установить pygame с pip:

После запуска этой команды вы должны увидеть вывод, который выглядит примерно так:

Если вы установили pygame в систему с доступным видео и аудио, вы можете проверить свою установку, выполнив следующую команду, которая запустит пробную игру, демонстрирующую, что pygame может делать с графикой и звуком:

Если вы не хотите открывать образец, или если у вас нет AV как часть вашей настройки, вы также можете войти в интерактивную консоль Python, чтобы убедиться, что вы можете импортировать модуль pygame. Сначала введите команду + python для запуска консоли:

Затем в консоли вы можете импортировать модуль:

Если вы не получите ошибок при нажатии клавиши + ENTER + после команды, вы будете знать, что pygame была успешно установлена. Вы можете выйти из интерактивной консоли Python с помощью команды + quit () + .

Если у вас возникли проблемы с установкой в ​​командной строке, вы можете ознакомиться с GettingStarted wiki pygame.

На более поздних этапах мы будем предполагать использование монитора для отображения графического интерфейса пользователя как часть этого руководства для проверки нашего кода.

Импорт пигмеев

Чтобы познакомиться с pygame, давайте создадим файл с именем + our_game.py + , который мы можем создать с помощью текстового редактора nano, например:

При запуске проекта в Pygame вы начнете с оператора + import + , используемого для importing модулей. , который вы можете добавить вверху вашего файла:

Мы также можем при желании добавить еще один оператор импорта ниже первой строки, чтобы добавить некоторые константы и функции pygame в https://www.digitalocean.com/community/tutorials/how-to-import-modules-in-python- 3 # using-from — импортировать [глобальное пространство имен] вашего файла:

С pygame, импортированным в наш программный файл, мы готовы использовать его для создания игрового шаблона.

Инициализация Pygame

Здесь мы инициализируем функциональные возможности pygame с помощью функции + init () + , что сокращенно означает «initialize».

Функция + init () + автоматически запустит все модули pygame, которые вам нужно инициализировать.

Вы также можете инициализировать каждый из модулей Pygame по отдельности, например:

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

Если мы запустим код выше, мы получим вывод, подобный следующему:

В этом случае + i + variable вернул кортеж + (6, 0) + `, который показывает, что было 6 успешных инициализаций Pygame и 0 сбоев. Переменная `+ f + вернула + None + , указывая, что модуль недоступен в этой конкретной среде.

Настройка поверхности дисплея

Отсюда нам нужно настроить поверхность отображения игры. Мы будем использовать + pygame.display.set_mode () + , чтобы инициализировать окно или экран для отображения и передать его в переменную. В функцию мы передадим аргумент разрешения экрана, представляющий собой пару чисел, представляющих ширину и высоту в кортеже. Давайте добавим эту функцию в нашу программу:

Мы передали кортеж + (800, 600) + в качестве аргумента функции + set_mode () + , обозначая разрешение ширины (800 пикселей) и высоты (600 пикселей). Обратите внимание, что кортеж содержится в круглых скобках функции, поэтому в функции выше есть двойные скобки.

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

Мы будем использовать переменную + display_width для ширины отображения вашей игры и` + display height` для высоты, и передадим эти переменные в функцию + set_mode () + :

На этом этапе игровая поверхность настраивается с разрешением по ширине и высоте.

Обновление дисплея

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

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

Из-за концепции перелистывания страниц или фреймов одна из функций, которые можно использовать для обновления отображения игровой поверхности, называется + flip () + и может быть вызвана в нашем файле выше, например:

Функция + flip () + обновляет всю поверхность экрана на экране.

Чаще всего вместо + flip () + используется функция + update () + , поскольку она обновляет только части экрана, а не всю область, экономя память.

Давайте добавим функцию + update () + в конец файла + our_game.py + :

 

На этом этапе вы можете запустить программу без каких-либо ошибок, но поверхность дисплея просто откроется и быстро закроется.

Создание игрового цикла

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

Мы будем создавать https://www.digitalocean.com/community/tutorials/how-to-construct- while-loops-in-python-3 [ + while + loop], который будет запускать игру. Цикл будет вызывать Boolean значение + True + , означая, что цикл будет зацикливаться вечно, если только он не будет нарушена.

В этом основном игровом цикле нашей программы мы создадим https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3 [ + for + loop] для перебирать пользовательские события в очереди событий, которые будут вызываться функцией + pygame.event.get () + .

На данный момент у нас ничего нет в цикле + for + , но мы можем добавить оператор + print () + , чтобы показать, что код ведет себя так, как мы ожидаем. Мы передадим события внутри итерации в оператор как + print (event) + .

Давайте добавим эти два цикла и оператор + print () + в наш программный файл:

Библиотека Pygame / Часть 1. Введение

Это первая часть серии руководств « Разработка игр с помощью Pygame ». Она предназначена для программистов начального и среднего уровней, которые заинтересованы в создании игр и улучшении собственных навыков кодирования на Python.

Что такое Pygame?

Pygame — это «игровая библиотека», набор инструментов, помогающих программистам создавать игры. К ним относятся:

Графика и анимация

Звук (включая музыку)

Управление (мышь, клавиатура, геймпад и так далее)

Игровой цикл

В сердце каждой игры лежит цикл, который принято называть «игровым циклом». Он запускается снова и снова, делая все, чтобы работала игра. Каждый цикл в игре называется кадром.

В каждом кадре происходит масса вещей, но их можно разбить на три категории:

1.Обработка ввода (события)

Речь идет обо всем, что происходит вне игры — тех событиях, на которые она должна реагировать. Это могут быть нажатия клавиш на клавиатуре, клики мышью и так далее.

2.Обновление игры

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

3.Рендеринг (прорисовка)

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

Время

Еще один важный аспект игрового цикла — скорость его работы. Многие наверняка знакомы с термином FPS, который расшифровывается как Frames Per Second (или кадры в секунду). Он указывает на то, сколько раз цикл должен повториться за одну секунду. Это важно, чтобы игра не была слишком медленной или быстрой. Важно и то, чтобы игра не работала с разной скоростью на разных ПК. Если персонажу необходимо 10 секунд на то, чтобы пересечь экран, эти 10 секунд должны быть неизменными для всех компьютеров.

Создание шаблона Pygame

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

В начале программы нужно импортировать необходимые библиотеки и задать базовые переменные настроек игры:

Дальше необходимо открыть окно игры:

pygame.init() — это команда, которая запускает pygame. screen — окно программы, которое создается, когда мы задаем его размер в настройках. Дальше необходимо создать clock , чтобы убедиться, что игра работает с заданной частотой кадров.

Теперь необходимо создать игровой цикл:

Игровой цикл — это цикл while , контролируемый переменной running . Если нужно завершить игру, необходимо всего лишь поменять значение running на False . В результате цикл завершится. Теперь можно заполнить каждый раздел базовым кодом.

Раздел рендеринга (отрисовки)

Начнем с раздела отрисовки. Персонажей пока нет, поэтому экран можно заполнить сплошным цветом. Чтобы сделать это, нужно разобраться, как компьютер обрабатывает цвета.

Экраны компьютеров сделаны из пикселей, каждый из которых содержит 3 элемента: красный, зеленый и синий. Цвет пикселя определяется тем, как горит каждый из элементов:

Каждый из трех основных цветов может иметь значение от 0 (выключен) до 255 (включен на 100%), так что для каждого элемента есть 256 вариантов.

Узнать общее количество отображаемых компьютером цветов можно, умножив:

Теперь, зная, как работают цвета, можно задать их в начале программ:

А после этого — заполнить весь экран.

Но этого недостаточно. Дисплей компьютера работает не так. Изменить пиксель — значит передать команду видеокарте, чтобы она передала соответствующую команду экрану. По компьютерным меркам это очень медленный процесс. Если нужно нарисовать на экране много всего, это займет много времени. Исправить это можно оригинальным способом, который называется — двойная буферизация. Звучит необычно, но вот что это такое.

Представьте, что у вас есть двусторонняя доска, которую можно поворачивать, показывая то одну, то вторую сторону. Одна будет дисплеем (то, что видит игрок), а вторая — оставаться скрытой, ее сможет «видеть» только компьютер. С каждым кадром рендеринг будет происходить на задней части доски. Когда отрисовка завершается, доска поворачивается и ее содержимое демонстрируется игроку.

А это значит, что процесс отрисовки происходит один раз за кадр, а не при добавлении каждого элемента.

В pygame это происходит автоматически. Нужно всего лишь сказать доске, чтобы она перевернулась, когда отрисовка завершена. Эта команда называется flip() :

Главное — сделать так, чтобы функция flip() была в конце. Если попытаться отрисовать что-то после поворота, это содержимое не отобразится на экране.

Раздел ввода (событий)

Игры еще нет, поэтому пока сложно сказать, какие кнопки или другие элементы управления понадобятся. Но нужно настроить одно важное событие. Если попытаться запустить программу сейчас, то станет понятно, что нет возможности закрыть окно. Нажать на крестик в верхнем углу недостаточно. Это тоже событие, и необходимо сообщить программе, чтобы она считала его и, соответственно, закрыла игру.

События происходят постоянно. Что, если игрок нажимает кнопку прыжка во время отрисовки? Это нельзя игнорировать, иначе игрок будет разочарован. Для этого pygame сохраняет все события, произошедшие с момента последнего кадра. Даже если игрок будет лупить по кнопкам, вы не пропустите ни одну из них. Создается список, и с помощью цикла for можно пройтись по всем из них.

В pygame много событий, на которые он способен реагировать. pygame.QUIT — событие, которое стартует после нажатия крестика и передает значение False переменной running , в результате чего игровой цикл заканчивается.

Контроль FPS

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

Команда tick() просит pygame определить, сколько занимает цикл, а затем сделать паузу, чтобы цикл (целый кадр) длился нужно время. Если задать значение FPS 30, это значит, что длина одного кадра — 1/30, то есть 0,03 секунды. Если цикл кода (обновление, рендеринг и прочее) занимает 0,01 секунды, тогда pygame сделает паузу на 0,02 секунды.

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

Ура! У вас есть рабочий шаблон Pygame. Сохраните его в файле с понятным названием, например, pygame_template.py , чтобы можно было использовать его каждый раз при создании нового проекта pygame.

В следующем руководстве этот шаблон будет использован как отправная точка для изучения процесса отрисовки объектов на экране и их движения.

How to install Pygame using PIP or an IDE

How to install Pygame

We will see in this tutorial how to install the pygame module on Windows or MAC using pip or the PyCharm editor.

Introduction

When you’re new to Python programming, the best way to improve your skills is to create mini-games. This allows you to have fun while learning the basics of programming. To develop a game in Python, there are several modules that make it easier to work with graphics (such as rectangles, circles, images, etc…) and sounds. Pygame is one of them.

Pygame is a Python wrapper for the SDL (Simple DirectMedia Layer) library. SDL provides cross-platform access to the underlying multimedia hardware components of your system, such as sound, video, mouse, keyboard and joystick. You can therefore program games and Python programs with Pygame that are supported on different platforms.

By default, Pygame is not installed on the Python programming environment. We will therefore see in this guide the best instructions for installing it on your system.

If you wish to deepen your knowledge in the Pygame Module, I invite you to read this book :

As an Amazon Associate I earn from qualifying purchases. If you purchase a product by using a link on this page, I’ll earn a small commission at no extra cost to you

No products found.

How to install Pygame for Windows

Install Python

To run the Pygame module, we must have a version of Python on our machine. If you haven’t already done so, it is available here :

How to install Pygame - python installation

Download Latest Version of Python

Click on the version of Python you are interested in and press download. You can install the latest stable version of Python.

Once the download is complete, press the run button. Check the box ”Add Python 3.5 to PATH”.

Make sure the checkboxes for “Optional features” are checked. For the rest, you can leave them as they are. To finalize the installation, press the install button for your computer to complete the installation.

Install Module Pygame

You can get a version of Pygame via this link :

Take the latest version available and click on the link to download the .whl file to your computer.

pygame‑1.9.6‑cp39‑cp39‑win32.whl

You can choose between a 32bits or 64bits version (in this example, we will start with the win32 version).

To install the previously downloaded Pygame module, we need to access the Windows command line.

To access it, right-click on the started menu and click on Execute. Then type on the text box “cmd“.

Then go to the directory where you installed the Pygame module (by default in the Downloads folder).

Once you are in the right folder, type the following command prompt:

To check that the installation has worked, type the following command prompt:

If you do not see any error messages, the installation went well.

How to install Pygame for OS X

The first step to do is to access the command line. To do so, click on the Spotlight icon and type “terminal” to find it.

We will install XCode (which is an Apple tool for creating Mac and iOS applications. Once the installation is complete, type the following command prompt:

Install Homebrew

Homebrew is a package manager for Mac that simplifies the installation of many different software or packages such as Git, Python or Pygame. Homebrew allows you to avoid possible security issues related to the use of the sudo command to install software like Node.

To install it, copy and paste this on the command prompt:

You will also need to install Homebrew Cask :

Install pygame and these Requirements

To install pygame, we must first install all the pygame dependencies. To do this, please run the following commands one at a time:

As you can see, we have installed python 3 and the pygame module. To check that the installation has been successful, type the following commands:

If you don’t get any error messages, it means that the installation was successful.

How to install Pygame using PyCharm IDE

PyCharm is an integrated development environment (IDE) used in computer programming, specifically for the Python language. PyCharm is cross-platform, with Windows, macOS and Linux versions.

To start opening Pycharm and create a new python project. Then create a python file by right-clicking on the project then New then Python file. Name your python file as you wish.

In your python file, type the following line :

You will see that the pygame is underlined in red. To install pygame, move the mouse over the red underlined area and click on “install package pygame“.

Wait for Pycharm to install pygame and that’s it !

How to install Pygame using Pycharm

PyCharm IDE : How to install pygame module

Conclusion

In this tutorial, we have seen how to install pygame on Windows, OS X and using an IDE like PyCharm. Now it’s up to you to create your first 2D mini-game!

Here is an example of what you can do with Pygame :

Don’t hesitate to tell me in the comments if you have problems with the pygame installation. And also, I would be happy to see your future projects on pygame!

I’m a data scientist. Passionate about new technologies and programming I created this website mainly for people who want to learn more about data science and programming 🙂

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *