-
Partition Wizard
-
Partition Manager
- How to Install PyGame on Windows 10? [A Full Guide]
How to Install PyGame on Windows 10? [A Full Guide] [Partition Manager]
By Vega | Follow |
Last Updated January 05, 2023
PyGame is a set of cross-platform modules in the Python programming language, which means you can install it on any operating system, and this article from MiniTool Partition Wizard tells you how to install PyGame on Windows 10.
PyGame depends on Python, which means you must install Python before installing PyGame. Here is the guide about installing PyGame on Windows 10.
Install Python on Windows 10
Note: Before downloading the Python, you need to check your computer version and system type by navigating the path: Settings > System > About. The latest version of Python is not applicable to Windows 7 or earlier. This means you can only use Python 3 on Windows 8 or later versions.
Step 1: Visit the Python website and download the latest version of Python 3. If you are using a 32-bit system, please select Windows installer (32-bit); if you are using a 64-bit system, please select the Windows installer (64-bit).
Step 2: Open the Python installer, check the Install launcher for all users (recommended) and Add Python 3.10 to PATH boxes. Then click Install Now.
Or you can click the Customize Installation option and make sure the following boxes are checked: Documentation, pip, tcl/tk and IDLE, Python test suite, py launcher, for all users (requires elevation). Then click Next.
After entering the Advanced Options dialog box, you must also check the following boxes here: Install for all users, Add Python to the environment variables. Others you can choose according to your needs. Then click Install.
Install PyGame on Windows 10
Once finish Python setup on Windows 10, you can start to try installing PyGame on Windows 10.
Step 1: Locate the Python folder.
By default, the Python folder is located at C:Program Files. So, you can open the File Explorer and then go to the path to locate the Python folder.
Step 2: Copy the path/address of the Python folder.
Right click the Python name at the top of the File Explorer screen, and then click Copy Address. The copied address looks like «C:Program FilesPython310».
Step 3: Create the path.
After copying the address, you need to create a path in the environment variable.
- Open the Control Panel and navigate to the path: System and Security > System > Advanced System Settings > Environment Variables.
- Choose Path and click Edit > New, and then paste the path copied from the File Explorer into the empty text box generated on the environment variables panel.
- Click OK twice to save the changes.
Step 4: Open Command Prompt as an administrator.
- Open the Start menu and search for cmd in the search box.
- Right-clicking the search result and select Run as administrator.
Step 5: In the Command Prompt, type cd and a space, and then right-click in the Command Prompt to paste the path into Python. Then press Enter.
cd C:Program FilesPython310
Step 6: Type cd Scripts in the command prompt and press Enter.
Step 7: Type pip install pygame and press Enter to install Pygame.
Pygame should have been successfully installed on Windows 10. To verify this, type python and press Enter to start the Python interactive interpreter. Then type import pygame in the interpreter and press Enter.
If there is no error after typing import pygame in the interpreter, you have successfully installed Pygame on Windows. You can now use the Pygame library to write any graphics program you want.
Bottom Line
As you can see, a complete guide on how to install PyGame on Windows 10 is illustrated in the post. If you have any questions about this method, please leave them in the comment zone and we will try to answer them as soon as possible.
About The Author
Position: Columnist
Vega joined MiniTool as an editor after graduation. She enjoys helping people with computer problems, including disk management, data recovery, and more. She is constantly expanding her knowledge in related fields. And she will continue to bring more easy-to-understand professional articles to help people solve various problems on the PC.
In her daily life, Vega enjoys hanging out with friends, shopping online and listening to music. She is someone who knows how to enjoy life.
-
Partition Wizard
-
Partition Manager
- How to Install PyGame on Windows 10? [A Full Guide]
How to Install PyGame on Windows 10? [A Full Guide] [Partition Manager]
By Vega | Follow |
Last Updated January 05, 2023
PyGame is a set of cross-platform modules in the Python programming language, which means you can install it on any operating system, and this article from MiniTool Partition Wizard tells you how to install PyGame on Windows 10.
PyGame depends on Python, which means you must install Python before installing PyGame. Here is the guide about installing PyGame on Windows 10.
Install Python on Windows 10
Note: Before downloading the Python, you need to check your computer version and system type by navigating the path: Settings > System > About. The latest version of Python is not applicable to Windows 7 or earlier. This means you can only use Python 3 on Windows 8 or later versions.
Step 1: Visit the Python website and download the latest version of Python 3. If you are using a 32-bit system, please select Windows installer (32-bit); if you are using a 64-bit system, please select the Windows installer (64-bit).
Step 2: Open the Python installer, check the Install launcher for all users (recommended) and Add Python 3.10 to PATH boxes. Then click Install Now.
Or you can click the Customize Installation option and make sure the following boxes are checked: Documentation, pip, tcl/tk and IDLE, Python test suite, py launcher, for all users (requires elevation). Then click Next.
After entering the Advanced Options dialog box, you must also check the following boxes here: Install for all users, Add Python to the environment variables. Others you can choose according to your needs. Then click Install.
Install PyGame on Windows 10
Once finish Python setup on Windows 10, you can start to try installing PyGame on Windows 10.
Step 1: Locate the Python folder.
By default, the Python folder is located at C:Program Files. So, you can open the File Explorer and then go to the path to locate the Python folder.
Step 2: Copy the path/address of the Python folder.
Right click the Python name at the top of the File Explorer screen, and then click Copy Address. The copied address looks like «C:Program FilesPython310».
Step 3: Create the path.
After copying the address, you need to create a path in the environment variable.
- Open the Control Panel and navigate to the path: System and Security > System > Advanced System Settings > Environment Variables.
- Choose Path and click Edit > New, and then paste the path copied from the File Explorer into the empty text box generated on the environment variables panel.
- Click OK twice to save the changes.
Step 4: Open Command Prompt as an administrator.
- Open the Start menu and search for cmd in the search box.
- Right-clicking the search result and select Run as administrator.
Step 5: In the Command Prompt, type cd and a space, and then right-click in the Command Prompt to paste the path into Python. Then press Enter.
cd C:Program FilesPython310
Step 6: Type cd Scripts in the command prompt and press Enter.
Step 7: Type pip install pygame and press Enter to install Pygame.
Pygame should have been successfully installed on Windows 10. To verify this, type python and press Enter to start the Python interactive interpreter. Then type import pygame in the interpreter and press Enter.
If there is no error after typing import pygame in the interpreter, you have successfully installed Pygame on Windows. You can now use the Pygame library to write any graphics program you want.
Bottom Line
As you can see, a complete guide on how to install PyGame on Windows 10 is illustrated in the post. If you have any questions about this method, please leave them in the comment zone and we will try to answer them as soon as possible.
About The Author
Position: Columnist
Vega joined MiniTool as an editor after graduation. She enjoys helping people with computer problems, including disk management, data recovery, and more. She is constantly expanding her knowledge in related fields. And she will continue to bring more easy-to-understand professional articles to help people solve various problems on the PC.
In her daily life, Vega enjoys hanging out with friends, shopping online and listening to music. She is someone who knows how to enjoy life.
In this article, we will learn how to Install PyGame module of Python on Windows. PyGame is a library of python language. It is used to develop 2-D games and is a platform where you can set python modules to develop a game. It is a user-friendly platform that helps to build games quickly and easily.
Follow the steps given below for the successful installation of Pygame
Step 1: Check for Python Installation
In order to install Pygame, Python must be installed already in your system. To check whether Python is installed or not in your system, open the command prompt and give the command as shown below.
If this command runs successfully, and we are able to get a Python version then we are good to go. Otherwise, we have to install Python in our system, to do this refer How to install Python on Windows?
Step 2: Check for PIP installation
PIP is a tool that is used to install python packages. PIP is automatically installed with Python 2.7. 9+ and Python 3.4+. Open the command prompt and enter the command shown below to check whether pip is installed or not.
Note: Refer to How to install PIP on Windows ? for detailed information.
Step 3: Install Pygame
To install Pygame, open the command prompt and give the command as shown below:
pip install pygame
Pygame is successfully installed as shown in the image above.
Step 4: Check Whether PyGame is Working or not
Now open a new terminal and import the Pygame library to see whether it is working fine or not in our system. The library is imported successfully means we got success.
In this way, we can install the pygame module in Python.
I just tried to install pygame for python 3.4 my windows computer, but apparently I need to extract the whl file? I have seen other questions like this one on stackoverflow and it says to write in commant prompt:
pip install package-name.whl
However, when I tried this, I got in return:
'pip' is not recognized as an internal of external command, operable program, or batch file.
Is this because I have Windows 10? Please help!
asked Aug 23, 2015 at 11:28
3
For me this command works.->py -m pip install -U pygame —user
But first, make sure you properly configure your environment variables.
This tutorial http://www.aaronstannard.com/how-to-setup-a-proper-python-environment-on-windows/ will help you how to setup environment variables for python, make sure you do it correctly only step 2 ,no need to do any other steps from this tutorial, now you can follow my steps that were listed below. I will assume that you have already installed python in your computer
Step1
Search for cmd and Right click on cmd and do run as administrator.
Step2
Run the command, py -m pip install -U pygame —user, but before you run this command first of all make sure you configure your environment variables properly.
Step3
Type python in command prompt, this will take you to the python command line which will look like this «>>>».If not then you have a problem with your system variables.
Step4
Make sure you are in python command line and then type import pygame,and after this press ctrl+z and enter that will take you out from python command line.
Step5
Make sure you are not in python command line and then run this command py -m pygame.examples.aliens,if the game starts then congrats you are done.
answered Mar 31, 2018 at 2:07
It can be possible that the pip/ wheel is not installed
follow this link to install pip link
If already installed maked sure it is updated if not
You can use this code to update: python –m ensurepip –-upgrade
or pip install --upgrade pip
To install wheel pip install wheel
or upgrade pip install wheel --upgrade
once this is done you are good to install pygame
At the command line, make sure you’re in the same directory as the .whl file and run
pip install package-name.whl
answered Aug 23, 2015 at 17:28
The issue is your pip isn’t working correctly. To make sure it works, go to this folder C:Python34Scripts in windows explorer, hold shift and then right click. press ‘open command prompt’ here and then try to run pip.
answered Aug 23, 2015 at 18:11
R21R21
3962 silver badges12 bronze badges
That error occurs when the command entered, pip in this case, isn’t found.
I just got pygame working on Windows 10 with these steps.
Download pygame-1.9.2a0-cp35-none-win32.whl from UCI.
Run the cmd
shell and enter
> cd C:Users<me>AppDataLocalProgramsPythonPython35-32Scripts
> pip install C:Users<me>Downloadspygame-1.9.2a0-cp35-none-win32.whl
Start the Python 3.5 console. Therein enter
import pygame
dir(pygame)
No errors from either means that Pygame is ready for your command.
answered Mar 24, 2016 at 22:38
ghersongherson
1392 silver badges9 bronze badges
pip install pygame
that’s all you need, just remember to use it correctly in your code
csabinho
1,5851 gold badge17 silver badges28 bronze badges
answered Oct 19, 2019 at 0:10
assuming that you have pip installed. You can run:
pip install pygame
in command prompt or a simulated terminal.
If you don’t have pip already installed, please refer to this: (hope I helped!)
https://www.makeuseof.com/tag/install-pip-for-python/
answered Oct 21, 2019 at 5:47
I updated my pip, then ran the command prompt (cmd) as adminstrator, then I issued a python command:
-m pip install pygame
And it installed pygame.
answered Dec 13, 2019 at 9:02
5 августа, 2017 12:09 пп
68 221 views
| Комментариев нет
Python
Библиотека pygame – это модуль Python с открытым исходным кодом для разработки игр и мультимедийных приложений. Основанный на портируемой библиотеке SDL, модуль pygame может работать на многих платформах и операционных системах.
С помощью pygame можно контролировать логику и графику игр, не беспокоясь о сложностях бэкэнда, связанных с работой видео и аудио.
Этот мануал поможет установить модуль pygame в среду разработки Python и создать шаблон для разработки игр в Python 3.
Требования
Для работы вам понадобится локальная или удаленная среда разработки Python 3.
Кроме того, нужно ознакомиться со следующими руководствами:
- Импорт модулей в Python 3
- Использование переменных в Python 3
- Циклы while в Python 3
- Циклы for в Python 3
- Условные операторы в Python 3
- Логические выражения в Python 3
Установка pygame
Разверните среду программирования Python 3:
$ . my_env/bin/activate
Теперь установите pygame:
pip install pygame
Collecting pygame
Using cached pygame-1.9.3-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: pygame
Successfully installed pygame-1.9.3
Если вы установили pygame в систему с доступным видео и аудио, вы можете проверить установку с помощью команды, которая запустит макет игры и продемонстрирует, что pygame может делать с графикой и звуком:
python -m pygame.examples.aliens
Если вы не хотите запускать макет или в установке нет аудио/видео, можно открыть интерактивную консоль Python и попробовать импортировать модуль pygame. Чтобы запустить консоль, введите:
python
Теперь можно импортировать модуль:
import pygame
Если вы не получили ошибок после того как нажали Enter, значит, модуль pygame был успешно установлен. Вы можете выйти из интерактивной консоли Python с помощью команды quit().
Если во время импорта произошла ошибка, обратитесь к рекомендациям на сайте pygame.
Примечание: На последующих этапах для отображения графического интерфейса пользователя и проверки кода используется монитор.
Импортирование pygame
Создайте файл our_game.py.
nano our_game.py
Начиная работу над проектом pygame, нужно сначала импортировать модуль. Добавьте в начало файла строку:
import pygame
Также можно использовать еще один оператор import, чтобы добавить константы и функции pygame в глобальное пространство имен файла:
import pygame
from pygame.locals import *
Модуль pygame импортирован в файл проекта. Теперь можно создать шаблон игры.
Инициализация pygame
Затем нужно инициализировать pygame с помощью функции init().
import pygame
from pygame.locals import *
pygame.init()
Функция init() автоматически запустит все модули pygame, которые нужно инициализировать.
Также можно инициализировать каждый из модулей pygame по отдельности:
pygame.font.init()
Функция init() может возвращать кортежи. Кортеж будет сообщать о состоянии инициализации. Это можно сделать как в общем вызове init(), так и при инициализации определенных модулей (это позволит понять, доступны ли эти модули).
i = pygame.init()
print(i)
f = pygame.font.init()
print(f)
Запустив этот код, вы получите вывод:
(6, 0)
None
В данном случае переменная i вернула кортеж (6, 0): было выполнено 6 успешных инициализаций pygame и получено 0 ошибок. Переменная f вернула None, что значит, что модуль недоступен в этой среде.
Настройка отображения
Затем нужно настроить отображение игры. Используйте pygame.display.set_mode() для инициализации окна или экрана отображения и передайте функции переменную. В функции нужно передать аргумент разрешения экрана; это пара чисел, которые выражают ширину и высоту в кортеже. Добавьте функцию в программу:
import pygame
from pygame.locals import *
pygame.init()
game_display = pygame.display.set_mode((800, 600))
В качестве аргумента функции set_mode () был передан кортеж, который определяет высоту (600 пикселей) и ширину (800 пикселей). Обратите внимание: кортеж содержится в круглых скобках функции, поэтому в приведенной выше функции указаны двойные скобки.
Обычно для определения разрешения экрана игры используются целые числа, которые можно присвоить переменным, чтобы не вводить их вручную. Это упростит разработку программы.
Ширину экрана игры можно присвоить переменной display_width, а высоту – переменной display_height. Переменные можно передать функции set_mode().
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
Обновление экрана
Затем нам нужно использовать одну из двух доступных функций для обновления отображения поверхности игры.
По сути анимация – это просто смена кадров во времени. Хорошим примером тут будет кинеограф – сшитая в блокнот серия картинок, при быстром перелистывании которой получается анимированное изображение.
Для обновления поверхности игры можно использовать функцию flip(). Вызовите ее:
pygame.display.flip()
Эта функция обновляет всю поверхность отображения.
Чаще вместо flip() используется функция update(), которая обновляет только часть изображения, что экономит память.
Добавьте update() в конец файла our_game.py:
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.update()
Программа будет работать без ошибок, но экран игры просто откроется и сразу закроется.
Создание цикла игры
Теперь можно начать работу над основным циклом игры.
Создайте цикл while, который будет запускать игру. Цикл будет вызывать логическое значение True, потому он будет работать непрерывно, пока его не остановит пользователь.
В главном цикле игры нужно построить цикл for для итерации очереди пользовательских событий, которые будут вызваны функцией pygame.event.get().
На данный момент в цикле for ничего нет, но в него можно добавить оператор print() и убедиться, что программа работает правильно. Передать события для итерации можно как print(event).
Добавьте в файл циклы и print().
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.update()
while True:
for event in pygame.event.get():
print(event)
Теперь убедитесь, что код работает:
python our_game.py
После запуска файла на экране появится окно 800×600. Чтобы проверить события, вы можете навести курсор мыши на окно, щелкнуть по окну и нажать клавиши на клавиатуре. Эти события будут распечатываться в окне консоли.
Вывод выглядит примерно так:
<Event(4-MouseMotion {'rel': (616, 355), 'buttons': (0, 0, 0), 'pos': (616, 355)})>
<Event(5-MouseButtonDown {'button': 1, 'pos': (616, 355)})>
<Event(6-MouseButtonUp {'button': 1, 'pos': (616, 355)})>
<Event(2-KeyDown {'scancode': 3, 'key': 102, 'unicode': 'f', 'mod': 0})>
<Event(3-KeyUp {'scancode': 3, 'key': 102, 'mod': 0})>
...
Этот вывод отображает пользовательские события. Такие события будут контролировать игру, поскольку они генерируются пользователем. Всякий раз, когда вы запускаете функцию pygame.event.get (), код будет принимать эти события.
Остановите программу (CTRL + C).
На данном этапе print() можно удалить или закомментировать.
Читайте также: Написание комментариев в Python 3
Выход из игры
Чтобы выйти из программы pygame, можно сначала объявить соответствующие модули неинициализированными, а затем просто выйти из Python с помощью функции quit().
Поскольку пользователи контролируют работу и события в игре, pygame.QUIT отправляется в очередь событий, когда пользователь завершает работу программы, нажав на «X» в верхнем углу игрового окна.
Добавьте в цикл for выражение if.
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
quit()
Новый код говорит программе, что если пользователь нажал Х, программа должна прекратить работу с помощью функций pygame.quit() и quit().
Поскольку ранее мы импортировали pygame.locals, теперь можно использовать event.type и QUIT без «pygame.» в начале.
Также запрос на выход из программы могут вызывать другие пользовательские события, например, событие KEYDOWN и несколько ключей.
Событие KEYDOWN значит, что пользователь нажал клавишу на клавиатуре. К примеру, это может быть клавиша Q или ESC. Добавьте код в цикл for.
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()
Логические операторы сообщат программе, что она должна прекратить работу, если пользователь нажимает «X» в верхнем углу игрового окна или клавиши Q или ESC.
На этом этапе можно протестировать функциональность игры и затем выйти из нее, либо с помощью значка Х, либо нажав Q или ESC.
Улучшение кода
Теперь у вас есть полностью рабочая программа, однако код еще можно усовершенствовать.
К примеру, код цикла while можно поместить в определение функции.
def event_handler():
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()
Это сократит цикл while, что особенно важно для удобочитаемости кода.
Также можно добавить заголовок окна (в настоящее время здесь указано pygame window). Для этого используйте:
pygame.display.set_caption('Our Game')
Функцию pygame.display.update() можно переместить в основной цикл игры.
В итоге код программы выглядит так:
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.set_caption('Our Game')
def event_handler():
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()
while True:
event_handler()
pygame.display.update()
Этот код еще можно улучшить, например, добавить оператор break.
Читайте также: Операторы break, continue и pass в циклах Python 3
Теперь вы можете приступать к изучению анимации, спрайтовой графики и управления кадрами. Больше информации о pygame можно найти в документации pygame.
Tags: pygame, Python, Python 3
Pygame is a free and open-source cross-platform library
for the development of multimedia applications like video games using Python.
It uses the Simple DirectMedia Layer library and several other
popular libraries to abstract the most common functions, making writing
these programs a more intuitive task.
We need your help to make pygame the best it can be!
New contributors are welcome.
Installation
pip install pygame
Help
If you are just getting started with pygame, you should be able to
get started fairly quickly. Pygame comes with many tutorials and
introductions. There is also full reference documentation for the
entire library. Browse the documentation on the docs page. You
can also browse the documentation locally by running
python -m pygame.docs
in your terminal. If the docs aren’t found
locally, it’ll launch the online website instead.
The online documentation stays up to date with the development version
of pygame on github. This may be a bit newer than the version of pygame
you are using. To upgrade to the latest full release, run
pip install pygame --upgrade
in your terminal.
Best of all, the examples directory has many playable small programs
which can get you started playing with the code right away.
Building From Source
If you want to use features that are currently in development,
or you want to contribute to pygame, you will need to build pygame
locally from its source code, rather than pip installing it.
Installing from source is fairly automated. The most work will
involve compiling and installing all the pygame dependencies. Once
that is done, run the setup.py
script which will attempt to
auto-configure, build, and install pygame.
Much more information about installing and compiling is available
on the Compilation wiki page.
Credits
Thanks to everyone who has helped contribute to this library.
Special thanks are also in order.
- Marcus Von Appen: many changes, and fixes, 1.7.1+ freebsd maintainer
- Lenard Lindstrom: the 1.8+ windows maintainer, many changes, and fixes
- Brian Fisher for svn auto builder, bug tracker and many contributions
- Rene Dudfield: many changes, and fixes, 1.7+ release manager/maintainer
- Phil Hassey for his work on the pygame.org website
- DR0ID for his work on the sprite module
- Richard Goedeken for his smoothscale function
- Ulf Ekström for his pixel perfect collision detection code
- Pete Shinners: original author
- David Clark for filling the right-hand-man position
- Ed Boraas and Francis Irving: Debian packages
- Maxim Sobolev: FreeBSD packaging
- Bob Ippolito: MacOS and OS X porting (much work!)
- Jan Ekhol, Ray Kelm, and Peter Nicolai: putting up with early design ideas
- Nat Pryce for starting our unit tests
- Dan Richter for documentation work
- TheCorruptor for his incredible logos and graphics
- Nicholas Dudfield: many test improvements
- Alex Folkner for pygame-ctypes
Thanks to those sending in patches and fixes: Niki Spahiev, Gordon
Tyler, Nathaniel Pryce, Dave Wallace, John Popplewell, Michael Urman,
Andrew Straw, Michael Hudson, Ole Martin Bjoerndalen, Herve Cauwelier,
James Mazer, Lalo Martins, Timothy Stranex, Chad Lester, Matthias
Spiller, Bo Jangeborg, Dmitry Borisov, Campbell Barton, Diego Essaya,
Eyal Lotem, Regis Desgroppes, Emmanuel Hainry, Randy Kaelber
Matthew L Daniel, Nirav Patel, Forrest Voight, Charlie Nolan,
Frankie Robertson, John Krukoff, Lorenz Quack, Nick Irvine,
Michael George, Saul Spatz, Thomas Ibbotson, Tom Rothamel, Evan Kroske,
Cambell Barton.
And our bug hunters above and beyond: Angus, Guillaume Proux, Frank
Raiser, Austin Henry, Kaweh Kazemi, Arturo Aldama, Mike Mulcheck,
Michael Benfield, David Lau
There’s many more folks out there who’ve submitted helpful ideas, kept
this project going, and basically made our life easier. Thanks!
Many thank you’s for people making documentation comments, and adding to the
pygame.org wiki.
Also many thanks for people creating games and putting them on the
pygame.org website for others to learn from and enjoy.
Lots of thanks to James Paige for hosting the pygame bugzilla.
Also a big thanks to Roger Dingledine and the crew at SEUL.ORG for our
excellent hosting.
Dependencies
Pygame is obviously strongly dependent on SDL and Python. It also
links to and embeds several other smaller libraries. The font
module relies on SDL_ttf, which is dependent on freetype. The mixer
(and mixer.music) modules depend on SDL_mixer. The image module
depends on SDL_image, which also can use libjpeg and libpng. The
transform module has an embedded version of SDL_rotozoom for its
own rotozoom function. The surfarray module requires the Python
NumPy package for its multidimensional numeric arrays.
Dependency versions:
CPython | >= 3.6 (Or use PyPy3) |
SDL | >= 2.0.8 |
SDL_mixer | >= 2.0.0 |
SDL_image | >= 2.0.2 |
SDL_ttf | >= 2.0.11 |
SDL_gfx | (Optional, vendored in) |
NumPy | >= 1.6.2 (Optional) |
License
This library is distributed under GNU LGPL version 2.1, which can
be found in the file docs/LGPL.txt
. We reserve the right to place
future versions of this library under a different license.
This basically means you can use pygame in any project you want,
but if you make any changes or additions to pygame itself, those
must be released with a compatible license (preferably submitted
back to the pygame project). Closed source and commercial games are fine.
The programs in the examples
subdirectory are in the public domain.
See docs/licenses for licenses of dependencies.
In this article, you will learn how to install Pygame in Python on Windows 10 and get started with the basic concepts.
Pygame is a set of Python modules used to create fully-featured multimedia programs and video games. It is very simple and easy to use. It is free, platform-independent and runs on almost every operating system. So we can easily create freeware, shareware, and commercial games with it.
Install Pygame in Windows
Pygame needs Python. We hope you have already installed it, but if you have not, please follow this tutorial on Python Installation. Here is the command to install Pygame with the pip tool.
pip install pygame
The installation process will look something like this on the console-
Getting Started Pygame
To use the Pygame, we must import this at the top of the script. This includes all the functions that the pygame and sys modules have.
import pygame, sys
Where we call the function of pygame, we will have to write modulename.functionname() format. Instead, we can directly use functionname() by adding the following import statement.
from pygame.locals import*
The pygame.locals contains several constant variables that are easy to identify. Next, the pygame needs to be initialized using the following statement.
pygame.init()
Set the window
The pygame.display.set_mode() function returns the pygame.Surface object for the window. The set_mode() function accepts two arguments the width and height of the window.
pygame.display.set_mode((400, 300))
Set the window caption
To set the caption on the top of the window, call pygame.display.set_caption() function.
pygame.display.set_caption('Pygame Window Title')
Pygame Event Object
When we do any action on the window, it is recorded as an event, like- moving the mouse or pressing a key on the keyboard. Pygame provides ‘pygame.event.Event‘ object to record these events and ‘pygame.event.get()‘ to get a list of event objects. We can use the for loop to iterate over these events.
while True:
for event in pygame.event.get():
Quit Pygame Event
The event object has a member variable ‘type‘, which tells us the type of the object. If the event object type equals ‘QUIT‘, then the ‘pygame.quit()‘ and the ‘sys.exit()‘ functions are called.
if event.type == QUIT:
pygame.quit()
sys.exit()
Updating the screen
To immediately reflect the changes you make on the screen, use the following statement-
pygame.display.update()
Basic Pygame Code Pattern
Here, we have merged the above explained code and this is the basic pygame code patterns.
import os
os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"
import pygame, sys
from pygame.locals import *
pygame.init()
DISPLAYSURF = pygame.display.set_mode((400, 300))
pygame.display.set_caption('Pygame Window Title')
while True: # main game loop
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
Basic Pygame code to draw rectangle
Here is the basic code to draw rectangle and set color in pygame.
import os
os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"
import pygame, sys
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((400, 300))
x = 50
y = 50
color = (52, 52, 235)
pygame.display.set_caption('Pygame Window Title')
while True: # main game loop
for event in pygame.event.get():
pygame.draw.rect(screen, color, pygame.Rect(x, y, 80, 80))
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
It returns the following output —
Related Articles
Convert list to dictionary Python
Dictionary inside list Python
Pandas string to datetime
Convert Excel to CSV Python Pandas
Python add list to list
Python Pandas Dataframe to CSV
Python compare two lists
Remove element from list Python
Python iterate list with index
Python program to sum all the numbers in a list
Python print without newline
Python iterate list with index
Python send mail to multiple recipients using SMTP server
How to generate QR Code in Python using PyQRCode
Python programs to check Palindrome strings and numbers
CRUD operations in Python using MYSQL Connector
Fibonacci Series Program in Python
Python File Handler — Create, Read, Write, Access, Lock File
Python convert XML to JSON
Python convert xml to dict
Python convert dict to xml
Python — самый популярный язык программирования нового поколения. Во всех новых областях компьютерных наук Python активно присутствует. Python имеет обширные библиотеки для различных областей, таких как машинное обучение (Numpy, Pandas, Matplotlib), искусственный интеллект (Pytorch, TensorFlow) и разработка игр (Pygame, Pyglet).
В этом уроке мы узнаем о разработке игр и рассмотрим возможности программирования с использованием Pygame (библиотека Python).
- Pygame в Python— это кроссплатформенный набор модулей Python, который используется для создания видеоигр.
- Он состоит из компьютерной графики и звуковых библиотек, предназначенных для использования с языком программирования Python.
- Pygame был официально написан Питом Шиннерсом для замены PySDL.
- Pygame подходит для создания клиентских приложений, которые потенциально могут быть упакованы в автономный исполняемый файл.
Прежде чем изучать pygame, нам нужно понять, какую игру мы хотим разработать. Чтобы изучить pygame, необходимо иметь базовые знания Python.
Установка pygame в Windows
Перед установкой Pygame в системе должен быть установлен Python, желательно версии 3.6.1 или выше, потому что она намного удобнее для новичков и, кроме того, работает быстрее. В основном есть два способа установить Pygame, которые приведены ниже:
1. Установка через pip. Хороший способ установить Pygame — использовать инструмент pip (применяется в Python для установки пакетов). Команда следующая:
py -m pip install -U pygame --user
2. Установка через IDE. Второй способ — установить его через IDE, и здесь мы используем Pycharm IDE. Установка pygame в pycharm проста. Мы можем установить его, выполнив указанную выше команду в терминале или выполнив следующие шаги:
- Откройте вкладку «Файл» и нажмите «Настройки».
- Выберите интерпретатор проекта и щелкните значок +.
- Он отобразит окно поиска. Найдите pygame и нажмите кнопку установки пакета.
Чтобы проверить, правильно ли установлен pygame, в интерпретаторе IDLE введите следующую команду и нажмите Enter:
import pygame
Если команда выполняется успешно без каких-либо ошибок, это означает, что мы успешно установили Pygame и нашли правильную версию IDLE для использования в программировании pygame.
Установка pygame на Mac
Чтобы установить pygame на Mac, выполните следующие действия.
- Посетите официальный сайт pygame pygame.org и в следующем окне загрузите pygame-1.9.1release-python.org-32bit-py2.7-macosx10.3.dmg:
Примечание. Если вы используете другую версию Python, загрузите последнюю ссылку.
- Дважды щелкните загруженный файл и разархивируйте его. Теперь дважды щелкните распакованный файл mpkg, чтобы запустить программу установки. Следуйте инструкциям по установке pygame.
- Запустите терминал (Cmd+Пробел, затем введите «терминал» в поле поиска). В терминале введите «python2.7» и нажмите Enter.
- Python должен запуститься, отобразить версию 2.7.2 (2.7.1 тоже подойдет) и выдать подсказку. В командной строке Python введите «import pygame». Если вы не получаете никаких ошибок, все работает нормально.
Простой пример pygame
Вот простая программа pygame, которая дает общее представление о синтаксисе.
import pygame pygame.init() screen = pygame.display.set_mode((400,500)) done = False while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True pygame.display.flip()
Выход:
После успешного выполнения он выдаст следующее окно в качестве вывода:
Давайте разберемся с основным синтаксисом приведенной выше программы построчно:
- import pygame — обеспечивает доступ к фреймворку pygame и импортирует все функции pygame.
- pygame.init() — используется для инициализации всех необходимых модулей pygame.
- pygame.display.set_mode((width, height)) — используется для отображения окна нужного размера. Возвращаемое значение — это объект Surface, который является объектом, в котором мы будем выполнять графические операции.
- pygame.event.get() — очищает очередиь событий. Если мы не назовем это, оконные сообщения начнут накапливаться, и игра перестанет отвечать на запросы операционной системы.
- pygame.QUIT — используется для завершения события, когда мы нажимаем кнопку закрытия в углу окна.
- pygame.display.flip() — Pygame использует двойную буферизацию, поэтому буферы смещаются. Очень важно вызвать эту функцию, чтобы сделать видимыми любые обновления, которые вы делаете на игровом экране.
Surface Pygame
Поверхность pygame используется для отображения любого изображения. Pygame имеет предустановленное разрешение и формат пикселей. Цвет поверхности по умолчанию черный. Его размер определяется передачей аргумента размера.
Поверхности могут иметь ряд дополнительных атрибутов, таких как альфа-плоскости, цветовые ключи, отсечение исходного прямоугольника и другие. Подпрограммы blit будут пытаться использовать аппаратное ускорение, когда это возможно; в противном случае они будут использовать усовершенствованные методы копирования программного обеспечения.
Pygame часы
Время представлено в миллисекундах (1/1000 секунды) в pygame. Часы Pygame используются для отслеживания времени. Время необходимо для создания движения, воспроизведения звука или реакции на любое событие. В общем, мы не считаем время в секундах. Считаем в миллисекундах. Часы также предоставляют различные функции, помогающие контролировать частоту кадров в игре. Имеют несколько функций:
- tick()
Эта функция используется для обновления часов. Синтаксис следующий:
tick(framerate=0)
Данный метод следует вызывать один раз за кадр. Он подсчитает, сколько миллисекунд прошло с момента предыдущего вызова. Аргумент частоты кадров является необязательным для передачи в функцию, и если он передается в качестве аргумента, функция будет делать задержку, чтобы игра работала медленнее, чем заданное количество тактов в секунду.
- tick_busy_loop()
Функция tick_busy_loop() аналогична функции tick(). При вызове Clock.tick_busy_loop(20) один раз за кадр программа никогда не будет работать со скоростью более 20 кадров в секунду. Синтаксис следующий:
tick_busy_loop()
- get_time()
get_time() используется для получения предыдущего тика. Число миллисекунд, которое isdra прошло между двумя последними вызовами в Clock.tick().
get_time()
Что такое Pygame Blit в Python?
Блиттинг pygame в Python — это процесс рендеринга игрового объекта на поверхность, и этот процесс называется блиттингом. Когда мы создаем игровой объект, нам нужно его визуализировать. Если мы не отрендерим игровые объекты и не запустим программу, то на выходе она выдаст черное окно.
Блиттинг — одна из самых медленных операций в любой игре, поэтому нам нужно быть осторожными, чтобы не сильно блитить на экране в каждом кадре. Основная функция, используемая в блиттинге, — это blit(), а именно:
blit(source,dest,area=None,special_flags=0)
Эта функция используется для вставки одного изображения в другое. Может быть размещена с аргументом dest. Аргумент dest может быть парой координат, представляющих левый верхний угол источника.
Добавление изображения
Чтобы добавить изображение в окно, сначала нам нужно создать пустую поверхность, вызвав конструктор Surface с кортежем ширины и высоты.
surface = pygame.Surface((100,100))
Приведенная выше строка создает пустое 24-битное изображение RGB размером 100*100 пикселей с черным цветом по умолчанию.
Для прозрачной инициализации Surface передайте аргумент SRCALPHA.
surface = pygame.Surface((100,100), pygame.SRCALPHA)
Рассмотрим следующий пример для отображения изображения на поверхности:
import pygame pygame.init() white =(255, 255, 255) # assigning values to height and width variable height = 400 width = 400 # creating the display surface object # of specific dimension..e(X, Y). display_surface = pygame.display.set_mode((height, width)) # set the pygame window name pygame.display.set_caption('Image') # creating a surface object, image is drawn on it. image = pygame.image.load(r'C:UsersDEVANSH SHARMADesktopdownload.png') # infinite loop while True: display_surface.fill(white) display_surface.blit(image,(0, 0)) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() # quit the program. quit() # Draws the surface object to the screen. pygame.display.update()
Выход:
Прямоугольник в Pygame
Rect используется для рисования прямоугольника в Pygame. Pygame использует объекты Rect для хранения прямоугольных областей и управления ими. Rect может быть сформирован из комбинации значений left, top, width и height. Его также можно создать из объектов Python, которые уже являются Rect или имеют атрибут с именем «rect».
Функция rect() используется для изменения положения или размера прямоугольника. Он возвращает новую копию Rect с затронутыми изменениями. Никаких изменений в исходном прямоугольнике не происходит.
Объект Rect имеет различные виртуальные атрибуты, которые можно использовать для перемещения и выравнивания:
x,y top, left, right, bottom topleft, bottomleft, topright, bottomright midtop, midleft, midbottom, midright center, centerx, centery size, width, height w,h
Размер прямоугольника можно изменить, задав размер, ширину или высоту. Все остальные присваивания перемещают прямоугольник без изменения его размера.
Если ширина или высота являются ненулевым значением Rect, то для ненулевого теста будет возвращено значение True. Некоторые методы возвращают Rect с размерами 0 для представления недопустимого прямоугольника.
Давайте создадим Rectangle в окне pygame, используя Rect:
import pygame pygame.init() screen = pygame.display.set_mode((400, 300)) done = False while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True pygame.draw.rect(screen,(0, 125, 255), pygame.Rect(30, 30, 60, 60)) pygame.display.flip()
После выполнения приведенного выше кода он отобразит прямоугольник в окне pygame.
Клавиши Pygame
Pygame KEYDOWN и KEYUP обнаруживают событие, если клавиша физически нажата и отпущена. KEYDOWN определяет нажатие клавиши, KEYUP определяет ее отпускание. Оба события (нажатие клавиши и отпускание клавиши) имеют два следующих атрибута:
- key: ключ — это целочисленный идентификатор, который представляет каждый ключ в ключевом слове.
- mod: это битовая маска всех клавиш-модификаторов, которые были в нажатом состоянии, когда произошло событие.
Рассмотрим следующий пример нажатия и отпускания клавиши.
import pygame pygame.init() # sets the window title pygame.display.set_caption(u'Keyboard events') # sets the window size pygame.display.set_mode((400, 400)) while True: # gets a single event from the event queue event = pygame.event.wait() # if the 'close' button of the window is pressed if event.type == pygame.QUIT: # stops the application break # Detects the 'KEYDOWN' and 'KEYUP' events if event.type in(pygame.KEYDOWN, pygame.KEYUP): # gets the key name key_name = pygame.key.name(event.key) # converts to uppercase the key name key_name = key_name.upper() # if any key is pressed if event.type == pygame.KEYDOWN: # prints on the console the key pressed print(u'"{}" key pressed'.format(key_name)) # if any key is released elif event.type == pygame.KEYUP: # prints on the console the released key print(u'"{}" key released'.format(key_name))
Выход:
Давайте посмотрим на другой пример:
import pygame pygame.init() screen = pygame.display.set_mode((400, 300)) done = False is_blue = True x = 30 y = 30 while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE: is_blue = not is_blue pressed = pygame.key.get_pressed() if pressed[pygame.K_UP]: y -= 3 if pressed[pygame.K_DOWN]: y += 3 if pressed[pygame.K_LEFT]: x -= 3 if pressed[pygame.K_RIGHT]: x += 3 if is_blue: color =(0, 128, 255) else: color =(255, 100, 0) pygame.draw.rect(screen, color, pygame.Rect(x, y, 60, 60)) pygame.display.flip()
В приведенном выше коде прямоугольник будет отображаться в окне pygame.
Когда мы нажимаем клавишу «Вниз», прямоугольник меняет форму вниз. Вывод следующий:
Pygame Draw
Pygame предоставляет функции геометрии для рисования простых фигур на поверхности. Эти функции будут работать для рендеринга в любой формат на поверхности. Большинство функций принимают аргумент ширины, чтобы обозначить размер толщины вокруг края фигуры. Если ширина передана 0, то форма будет сплошной (заполненной).
Все функции рисования принимают аргумент цвета, который может быть в одном из следующих форматов:
- Объекты pygame.Color
- Триплет(RGB)(кортеж/список)
- Четверка(RGBA)(кортеж/список)
- Целочисленное значение, сопоставленное с пиксельным форматом поверхности.
Рисование прямоугольника
Следующие функции используются для рисования прямоугольника на заданной поверхности.
pygame.draw.rect(surface, color, rect) pygame.draw.rect(surface, color, rect, width=0)
Параметры:
- Surface — экран для рисования.
- color — этот аргумент используется для окрашивания заданной формы. Альфа-значение является необязательным, если мы используем кортеж.
- rect(Rect) – рисование прямоугольника, положение и размеры.
- width(int) — чтобы использовать толщину линии или указать, что прямоугольник заполнен, необязателен.
if width == 0,(default) fill the rectangle if width > 0, used for line thickness if width < 0, nothing will be drawn
Рисование многоугольника
Следующие функции используются для рисования многоугольника на заданной поверхности.
- pygame.draw.polygon(surface,color,points)
- pygame.draw.polygon(surface, color, points, width=0)
Параметры:
- Surface — экран для рисования.
- color — этот аргумент используется для окрашивания заданной формы. Альфа-значение является необязательным, если мы используем кортеж.
- points(tuple(coordinate) или list(coordinate)): последовательность из 3 или более(x, y) координат, составляющих вершины многоугольника. Каждая координата в последовательности должна быть кортежем/списком.
Примечание. – Если len(points) < 3 или точки не являются последовательностью или точки не содержат числовой пары, это вызовет ошибку значения.
Эллипс
Следующие функции используются для рисования эллипса на заданной поверхности.
pygame.draw.ellipse(surface, color, rect) pygame.draw.ellipse(surface, color, rect, width=0)
Параметры:
- Surface — экран для рисования.
- color — этот аргумент используется для окрашивания заданной формы. Альфа-значение является необязательным, если мы используем кортеж.
- rect(Rect) – рисование прямоугольника, положение и размеры.
Прямая линия
Этот метод используется для рисования прямой линии на заданной поверхности. Концовок нет.
pygame.draw.line(surface,color,start_pos,end_pos,width) pygame.draw.line(surface,color,start_pos,end_pos,width=1)
Параметры:
- Surface — экран для рисования.
- color — этот аргумент используется для окрашивания заданной формы. Альфа-значение является необязательным, если мы используем кортеж.
- start_pos — начальная позиция линии(x,y)
- end_pos — конечная позиция строки.
Круг
Ниже приведены функции, которые используются для рисования окружности на заданной поверхности.
- circle(surface, color, center, radius)
- circle(surface, color, center, radius, width=0)
Параметры:
- Surface — экран для рисования.
- color — этот аргумент используется для окрашивания заданной формы. Альфа-значение является необязательным, если мы используем кортеж.
- center – центральная точка круга как последовательность двух int/float, например(x,y)
- radius(int или float) – радиус окружности, отсчитываемый от параметра center, если радиус равен нулю, то будет отрисовываться только центральный пиксель.
Эллиптическая дуга
Следующие функции используются для рисования эллиптической дуги на заданной поверхности.
? arc(surface, color, rect, start_angle, stop_angle) ? arc(surface, color, rect, start_angle, stop_angle, width=1)
Параметры:
- Surface — экран для рисования.
- color — этот аргумент используется для окрашивания заданной формы. Альфа-значение является необязательным, если мы используем кортеж.
- rect(Rect) – рисование прямоугольника, его положение и размеры.
- start_angle — начальный угол дуги в радианах.
- stop_angle — конечный угол дуги в радианах.
Есть три условия для параметров start_angle и stop_angle:
- Если start_angle < stop_angle, то дуга будет нарисована против часовой стрелки от start_angle до end_angle.
- Если start_angle>stop_angle, то tau(tau=2*pi) будет добавлено к углу остановки.
- Если start_angle==stop_angle, ничего не будет нарисовано.
Рассмотрим пример:
import pygame from math import pi pygame.init() # size variable is using for set screen size size = [400, 300] screen = pygame.display.set_mode(size) pygame.display.set_caption("Example program to draw geometry") # done variable is using as flag done = False clock = pygame.time.Clock() while not done: # clock.tick() limits the while loop to a max of 10 times per second. clock.tick(10) for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: # If user clicked on close symbol done = True # done variable that we are complete, so we exit this loop # All drawing code occurs after the for loop and but # inside the main while done==False loop. # Clear the default screen background and set the white screen background screen.fill((0, 0, 0)) # Draw on the screen a green line which is 5 pixels wide. pygame.draw.line(screen,(0, 255, 0), [0, 0], [50, 30], 5) # Draw on the screen a green line which is 5 pixels wide. pygame.draw.lines(screen,(0, 0, 0), False, [[0, 80], [50, 90], [200, 80], [220, 30]], 5) # Draw a rectangle outline pygame.draw.rect(screen,(0, 0, 0), [75, 10, 50, 20], 2) # Draw a solid rectangle pygame.draw.rect(screen,(0, 0, 0), [150, 10, 50, 20]) # This draw an ellipse outline, using a rectangle as the outside boundaries pygame.draw.ellipse(screen,(255, 0, 0), [225, 10, 50, 20], 2) # This draw a solid ellipse, using a rectangle as the outside boundaries pygame.draw.ellipse(screen,(255, 0, 0), [300, 10, 50, 20]) # Draw a triangle using the polygon function pygame.draw.polygon(screen,(0, 0, 0), [[100, 100], [0, 200], [200, 200]], 5) # This draw a circle pygame.draw.circle(screen,(0, 0, 255), [60, 250], 40) # This draw an arc pygame.draw.arc(screen,(0, 0, 0), [210, 75, 150, 125], 0, pi / 2, 2) # This function must write after all the other drawing commands. pygame.display.flip() # Quite the execution when clicking on close pygame.quit()
Выход:
Текст и шрифт Pygame
Pygame также предоставляет средства для рендеринга шрифта и текста. Мы можем загружать шрифты из системы с помощью функции pygame.font.SysFont(). Pygame поставляется со встроенным шрифтом по умолчанию, доступ к которому можно получить, передав имя шрифта или None. Есть множество функций, помогающих работать со шрифтом.
Объекты шрифта создаются с помощью pygame.font.Font(). Фактические объекты шрифта выполняют большую часть работы, выполняемой со шрифтами. Объекты шрифта обычно используются для рендеринга текста в новые объекты Surface. Вот несколько важных функций шрифта:
- render()
Эта функция используется для рисования текста на новой поверхности. Pygame не имеет возможности рисовать текст на существующей поверхности. Это создает новую поверхность с указанным текстовым рендерингом на ней. Синтаксис следующий:
render(text, antialias, color, background=None)
- size()
Эта функция используется для определения количества пробелов или позиций, необходимых для отображения текста. Его также можно использовать для переноса слов и других эффектов макета. Синтаксис следующий:
size(bool)
- set_bold()
Эта функция используется для выделения текста жирным шрифтом. Синтаксис следующий:
set_bold(bool)
Рассмотрим следующий пример:
import pygame pygame.init() screen = pygame.display.set_mode((640, 480)) done = False #load the fonts font = pygame.font.SysFont("Times new Roman", 72) # Render the text in new surface text = font.render("Hello, Pygame", True,(158, 16, 16)) while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: done = True screen.fill((255, 255, 255)) #We will discuss blit() in the next topic screen.blit(text,(320 - text.get_width() // 2, 240 - text.get_height() // 2)) pygame.display.flip()
Выход:
Примечание . Необходимо помнить, что определенный шрифт должен быть установлен на компьютере пользователя. Если вы не знаете, установлены шрифты или нет, у pygame есть следующая функция для перечисления всех доступных для пользователя шрифтов:
all_font = pygame.font.get_fonts()
Существует еще одна функция для создания экземпляра системного шрифта по умолчанию:
font = pygame.font.Font(None,size)
Используя любые вышеперечисленные функции, мы можем работать с привлекательным шрифтом в игре.
Pygame Sprite и обнаружение столкновений
Sprite pygame — это двумерное изображение, являющееся частью большой графической сцены. Обычно Sprite представляет собой какой-то объект на сцене.
Одним из самых важных преимуществ работы со Sprite является возможность работать с ними в группах. Мы можем легко перемещать и рисовать их одной командой, если они находятся в группе.
Модуль Sprite содержит различные простые классы для использования в играх. Необязательно использовать классы Sprite и различные групповые классы при использовании pygame.
Pygame предоставляет спрайты и группы, которые помогают обнаруживать столкновения. Обнаружение столкновений — это процесс, когда два объекта на экране сталкиваются друг с другом. Например, если в игрока попала вражеская пуля, то он может потерять жизнь или программе нужно знать, когда игрок касается монеты, чтобы она автоматически подбиралась.
Рассмотрим следующий пример:
import pygame import sys #Sprite class class Sprite(pygame.sprite.Sprite): def __init__(self, pos): pygame.sprite.Sprite.__init__(self) self.image = pygame.Surface([20, 20]) self.image.fill((255, 0, 255)) self.rect = self.image.get_rect() self.rect.center = pos def main(): pygame.init() clock = pygame.time.Clock() fps = 50 bg = [0, 0, 0] size =[300, 300] screen = pygame.display.set_mode(size) player = Sprite([40, 50]) # Define keys for player movement player.move = [pygame.K_LEFT, pygame.K_RIGHT, pygame.K_UP, pygame.K_DOWN] player.vx = 5 player.vy = 5 wall = Sprite([100, 60]) wall_group = pygame.sprite.Group() wall_group.add(wall) player_group = pygame.sprite.Group() player_group.add(player) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: return False key = pygame.key.get_pressed() for i in range(2): if key[player.move[i]]: player.rect.x += player.vx * [-1, 1][i] for i in range(2): if key[player.move[2:4][i]]: player.rect.y += player.vy * [-1, 1][i] screen.fill(bg) # first parameter takes a single sprite # second parameter takes sprite groups # third parameter is a kill command if true hit = pygame.sprite.spritecollide(player, wall_group, True) if hit: # if collision is detected call a function to destroy # rect player.image.fill((255, 255, 255)) player_group.draw(screen) wall_group.draw(screen) pygame.display.update() clock.tick(fps) pygame.quit() sys.exit if __name__ == '__main__':
Выход:
После нажатия клавиш со стрелками один прямоугольник столкнется с другим прямоугольником, после чего выводится:
Pyglet
Python предоставляет еще одну игровую библиотеку под названием pyglet, которая представляет собой кроссплатформенную библиотеку окон и мультимедиа для Python. Она используется для разработки игр и других визуально насыщенных приложений.
Pyglet поддерживает обработку событий пользовательского интерфейса, работу с окнами, графику OpenGL, загрузку изображений и видео, а также воспроизведение звуков и музыки.
Вот несколько особенностей pyglet:
- Никаких внешних требований к установке или зависимостей.
- Воспользуйтесь преимуществами нескольких окон и нескольких мониторов.
- Он может загружать изображения, звук, музыку и видео в любом формате.
- Pyglet предоставляется под лицензией BSD с открытым исходным кодом.
- Он поддерживает как Python 2, так и 3.
Установка pyglet проста; его можно установить, введя следующую команду.
pip install pyglet
Рассмотрим следующий пример.
import pyglet window = pyglet.window.Window() lable = pyglet.text.Label('Hello world', font_name='Times New Roman', font_size=36, x= window.width//2,y=window.height//2,anchor_x='center', anchor_y='center') @window.event def on_draw(): window.clear() lable.draw() pyglet.app.run()
Выход:
Сравнение между Pygame и Pyglet
Pyglet | Pygame |
---|---|
3D поддержка
Поскольку pyglet так прочно слился с OpenGL, это позволяет поддерживать рисунок в 3D. |
Простой синтаксис Python
Pygame использует Python в качестве языка сценариев. Python считается одним из самых естественных языков для понимания даже новичками. |
Кроссплатформенность
Он может работать с Windows, Linux и OS X. |
Использование API
API очень простой. |
Написан на чистом Python
Его можно скомпилировать с помощью других интерпретаторов Python. |
Лучшая система рисования
Pygame предоставляет систему рисования, которая позволяет пользователю создавать и рисовать неограниченное количество холстов. |
Меньше популярности
Pyglet менее популярен, потому что у него небольшая поддержка сообщества. |
Более популярный
Pygame более популярен, чем pyglet. |
В этом руководстве мы обсудили простой подход к программированию разработки игр, установив модуль pygame с открытым исходным кодом в среду программирования Python 3.
Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.
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
Sale : -30% off!
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 :
https://www.python.org/downloads/
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 :
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame
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:
# use the cd command to move between folders C:Usersamiradata> cd Downloads C:UsersamiradataDownloads> pip install pygame‑1.9.6‑cp39‑cp39‑win32.whl
To check that the installation has worked, type the following command prompt:
# Execute python on command line and import Pygame C:UsersnameDownloads> python >>> import pygame
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:
# Install Brew $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
You will also need to install Homebrew Cask :
# instal HomeBrew Cask $ brew install caskroom/cask/brew-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:
# Install all requirements $ brew cask install xquartz $ brew install python3 $ brew install python $ brew linkapps python3 $ brew linkapps python $ brew install git $ brew install sdl sdl_image sdl_ttf portmidi libogg libvorbis $ brew install sdl_mixer --with-libvorbis $ brew tap homebrew/headonly $ brew install smpeg $ brew install mercurial $ pip3 install hg+http://bitbucket.org/pygame/pygame
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:
$ python3 >>> import pygame
If you don’t get any error messages, it means that the installation was successful.
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 :
# import module pygame import pygame
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 !
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!
See you soon 🙂
Back to the python section
This article will tell you how to install the Python Pygame module correctly and how to fix the problems during the installation process.
1. Install Python Pygame Module Use The PIP Install Command.
- Open the terminal and run the command pip install pygame in it.
$ pip install pygame Collecting pygame Downloading pygame-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl (8.9 MB) |████████████████████████████████| 8.9 MB 1.2 MB/s Installing collected packages: pygame Successfully installed pygame-2.1.2
- Run the command pip show pygame to verify the module installation.
$ pip show pygame Name: pygame Version: 2.1.2 Summary: Python Game Development Home-page: https://www.pygame.org Author: A community project. Author-email: [email protected] License: LGPL Location: /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages Requires: Required-by:
2. Install Python Pygame Module Use The Binary Installer File.
- Besides using the pip install command, we can also install it using the downloaded binary installer file.
- Go to the Pygame GitHub website to download the Pygame installer file that matches your OS and Python versions.
- Open a terminal and go to the Pygame installer downloaded directory.
- Run the command python -m pip install –user pygame-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl to install the Pygame from the installer file.
$ python -m pip install --user pygame-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl Processing ./pygame-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl Installing collected packages: pygame Successfully installed pygame-2.1.2
- Run the command python -m pygame –version to verify the installed Pygame moduel version.
$ python -m pygame --version pygame 2.1.2 (SDL 2.0.18, Python 3.7.3) Hello from the pygame community. https://www.pygame.org/contribute.html /Library/Frameworks/Python.framework/Versions/3.7/bin/python: No module named pygame.__main__; 'pygame' is a package and cannot be directly executed
3. How To Fix The ImportError: No module named ‘pygame’.
3.1 Question.
- I installed pygame 1.9.2 in Windows, and my python version is 3.5. But when I import the pygame module in the python source code, it shows the error ImportError: No module named ‘pygame’. How can I fix this error?
>>> import pygame Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import pygame ImportError: No module named 'pygame'
3.2 Answer1.
- Below are the steps to install Pygame 1.9.2 on Python 3.5.1 for Windows, you can try it.
- After you successfully install Python 3.5, you should write down the Python 3.5 installed folder for later use.
- Download the wheel file pygame-1.9.2a0-cp35-none-win32.whl and save it to the folder python35/Scripts.
- Open a dos window and cd to the python35/Scripts folder, then run the below command.
pip3 install pygame-1.9.2a0-cp35-none-win32.whl
- If you can not run the above command successfully, you can run the below command instead.
python -m pip install pygame-1.9.2a0-cp35-none-win32.whl
- Now when you import the pygame module, the error should disappear.
3.3 Answer2.
- I also meet such an error, but the reason is different.
- I installed multiple Python versions on my Windows, and I installed pygame library successfully into one of my Python versions.
- But my IDE used python interpreter does not contain the pygame library, so when I import pygame in my IDE the error is shown.
- After I select the python interpreter that has installed pygame library, the error disappear.
- wish this can help you too.
3.4 Answer3.
- This error happened when you do not install pygame successfully.
- Or you may have multiple Python versions installed, and pygame is installed in one of the python versions, but you import pygame in another python version.
- So you should make sure the pygame library has been installed in your python env, you can run the below command to check it.
(MyPythonEnv) C:Userszhaosong>pip show pygame Name: pygame Version: 2.1.2 Summary: Python Game Development Home-page: https://www.pygame.org Author: A community project. Author-email: [email protected] License: LGPL Location: c:userszhaosonganaconda3envsmypythonenvlibsite-packages Requires: Required-by:
4. How To Fix ERROR: Command errored out with exit status 1:…EOFError: EOF when reading a line When Install Pygame Using PIP.
4.1 Question.
- I run the command pip install pygame on windows 10, but it throws the error with the message ERROR: Command errored out with exit status 1:…EOFError: EOF when reading a line. My python version is 3.9. Below is the detailed error message. How can I fix it?
Collecting pygame Using cached pygame-1.9.6.tar.gz (3.2 MB) ERROR: Command errored out with exit status 1: command: 'c:usersjerryappdatalocalprogramspythonpython39python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\jerry\AppData\Local\Temp\pip-install-4b04m745\pygame\setup.py'"'"'; __file__='"'"'C:\Users\jerry\AppData\Local\Temp\pip-install-4b04m745\pygame\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:UsersjerryAppDataLocalTemppip-pip-egg-info-up4741kz' cwd: C:UsersjerryAppDataLocalTemppip-install-4b04m745pygame Complete output (17 lines): WARNING, No "Setup" File Exists, Running "buildconfig/config.py" Using WINDOWS configuration... Download prebuilts to "prebuilt_downloads" and copy to "./prebuilt-x64"? [Y/n]Traceback (most recent call last): File "<string>", line 1, in <module> File "C:UsersjerryAppDataLocalTemppip-install-4b04m745pygamesetup.py", line 194, in <module> buildconfig.config.main(AUTO_CONFIG) File "C:UsersjerryAppDataLocalTemppip-install-4b04m745pygamebuildconfigconfig.py", line 210, in main deps = CFG.main(**kwds) File "C:UsersjerryAppDataLocalTemppip-install-4b04m745pygamebuildconfigconfig_win.py", line 576, in main and download_win_prebuilt.ask(**download_kwargs): File "C:UsersjerryAppDataLocalTemppip-install-4b04m745pygamebuildconfigdownload_win_prebuilt.py", line 302, in ask reply = raw_input( EOFError: EOF when reading a line ---------------------------------------- ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
4.2 Answer1.
- From the message you provide, we can see that you just install the Pygame version 1.9.6. And your python version is 3.9.
- But Pygame 1.9.6 does not support python 3.9 now. So you had better use python 3.8 instead.
- Or you can install Pygame 2.0 with the command pip install pygame==2.0.0, Pygame 2.0 support python 3.9.
- You can also download the Pygame wheel file from https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame, it contains the wheel file pygame‑1.9.6‑cp39‑cp39‑win32.whl that meet your needs.