Как импортировать pygame в python

Как импортировать pygame в python

Getting pygame imported and initialized is a very simple process. It is also flexible enough to give you control over what is happening. Pygame is a collection of different modules in a single python package. Some of the modules are written in C, and some are written in python. Some modules are also optional, and might not always be present.

This is just a quick introduction on what is going on when you import pygame. For a clearer explanation definitely see the pygame examples.

Import¶

First we must import the pygame package. Since pygame version 1.4 this has been updated to be much easier. Most games will import all of pygame like this.

The first line here is the only necessary one. It imports all the available pygame modules into the pygame package. The second line is optional, and puts a limited set of constants and functions into the global namespace of your script.

An important thing to keep in mind is that several pygame modules are optional. For example, one of these is the font module. When you «import pygame», pygame will check to see if the font module is available. If the font module is available it will be imported as «pygame.font». If the module is not available, «pygame.font» will be set to None. This makes it fairly easy to later on test if the font module is available.

Before you can do much with pygame, you will need to initialize it. The most common way to do this is just make one call.

This will attempt to initialize all the pygame modules for you. Not all pygame modules need to be initialized, but this will automatically initialize the ones that do. You can also easily initialize each pygame module by hand. For example to only initialize the font module you would just call.

Note that if there is an error when you initialize with «pygame.init()», it will silently fail. When hand initializing modules like this, any errors will raise an exception. Any modules that must be initialized also have a «get_init()» function, which will return true if the module has been initialized.

It is safe to call the init() function for any module more than once.

Modules that are initialized also usually have a quit() function that will clean up. There is no need to explicitly call these, as pygame will cleanly quit all the initialized modules when python finishes.

Источник

GettingStarted — wiki

Pygame Installation¶

Pygame requires Python; if you don’t already have it, you can download it from python.org. It’s recommended to run the latest python version, because it’s usually faster and has better features than the older ones. Bear in mind that pygame has dropped support for python 2.

To see if it works, run one of the included examples:

Next steps. ¶

Further info on installation¶

Hopefully the installation instructions above worked for you. If not, please read some alternative installation methods, and extra details below.

Wheels are available for x86 and x64 architectures on Linux and Windows, and for x64 and arm64 on Mac. If pip doesn’t find a wheel for your platform, it will try to compile pygame from source (see below).

pygame requires a «newer» pip. If pygame starts compiling from source and fails, first try upgrading pip.

Raspberry Pi¶

This comes with pygame already installed on the default raspbian installation.

Windows installation¶

Make sure you install python with the «Add python to PATH» option selected. This means that python, and pip will work for you from the command line.

There is documentation with python for the «windows installation steps»

Mac installation¶

Recent versions of Mac OS X require pygame 2¶

If your examples aren’t running and you are using a recent version of Mac OS X; try this line to install pygame instead:

Anaconda Mac¶

(note the w on the end). If it doesn’t work for you, please see the /wiki/MacCompile instructions.

Unix Binary Packages¶

Many Linux and BSD distributions have their own packages of Pygame. These may have an older version of Pygame than the wheels, but have been carefully tested with other packages in that distribution.

Debian/Ubuntu/Mint¶

Fedora/Red hat¶

OpenSUSE¶

Arch/Manjaro

DistributionPython 3 packageDebian/Ubuntupython3-pygameFedorapython3-pygame

FreeBSD also has an active pygame package. While techinicaly it isn’t binary, it is automatically built and installed by the ports manager. See the FreeBSD package page for more information. http://www.freebsdports.info/ports/devel/py-game.html

Gentoo has a builtin package for pygame. This is compiled for your system as it installs, similar to BSD, http://packages.gentoo.org/package/dev-python/pygame

Installing From Source¶

Compilation¶

Compiling and installing pygame is handled by Python’s distutils. Pygame also comes with some scripts to automatically configure the flags needed to build pygame. Use the «setup.py» script to start the installation.

The first time you run the setup script, it will call the «config.py» script. This will build a «Setup» file which stores all the information needed to compile. The «config.py» will do a good job of detecting what dependencies are available and where they are located. If it isn’t perfect, it is easy to build your own, or edit the created «Setup» text file. This «Setup» file is a simple Makefile-like text file. It defines variables needed to use each dependency, and then enables all the pygame modules with found dependencies. If you have trouble compiling, you should be able to easily fix any problems inside the «Setup» file.

Running the «setup.py» script will call distutils to build and install the pygame package. Distutils actually supports a wide variety of compile and install options. running «python setup.py help» will start to show you the different options available. You can change many things like install locations, compiler to use, and more. Calling the «setup.py» script with no arguments and it will just ask you if you want the default flags needed to compile and install.

Windows Compiling Info

You can compile pygame on windows with mingw (gcc for windows) and also with visual studio. Up to date details can be found here: CompileWindows

Unix Compiling Info

Compiling from linux shouldn’t give you any problems. One thing you must keep in mind is that most linux RPM packages separate the actual library from the «dev» files needed to compile. To build you will need to make sure the packages like «SDL-dev» are installed.

You can check to see if SDL is ready to be built from by running the command sdl-config and seeing if it is found. If the sdl-config script is not on the path (or you have more than one?) Set the environment variable SDL_CONFIG to its location.

Sometimes you will have the SDL libraries installed in once location, and the other SDL libraries in another. This tricks the pygame config scripts, but you can help it out by setting the environment LOCALBASE to a path prefix where the other libraries are. The common case for this is SDL installed in /usr and other SDL libs installed in /usr/local. The command for this situation is «LOCALBASE=/usr/local python setup.py install«.

Mac OS X Compiling Info¶

Up to date instructions for compiling on Mac OS X can be found here: MacCompile

Источник

Как написать игру на Python3

Самоучитель Python3 для начинающих

Установка дополнительных модулей в Python

Внимание! Данный материал актуален для версий Python 3.5+ и 2.7+

Все движется, все меняется. Совершенствуется и Python 3. Теперь в него добавлена возможность установки дополнительных модулей с помощью командной строки Windows.

Чтобы установить, например, PyGame, выполните следующие операции:

1. Запустите командную строку Windows

Как импортировать pygame в python. wincomm. Как импортировать pygame в python фото. Как импортировать pygame в python-wincomm. картинка Как импортировать pygame в python. картинка wincomm

Рис. 1 Командная строка Windows 7

2. Наберите и выполните команду pip install pygame. Все остальное произойдет в автоматическом режиме. Программа сама скачает и установит данный модуль:

Как импортировать pygame в python. installpygame. Как импортировать pygame в python фото. Как импортировать pygame в python-installpygame. картинка Как импортировать pygame в python. картинка installpygame

Рис 2. Установка библиотеки PyGame

Есть только два момента. Первый, это Ваш антивирус. Он наверняка спросит, доверяете ли Вы предложению pip? Смело отвечайте «Да» )

Второе. Python не добавлен в переменную PATH. В этом случае установка будет несколько сложнее — нужно полностью указать путь к pip. У меня, к примеру, Python установлен в папку C:\Python3. Тогда, для установки с помощью pip, мне нужно было бы использовать следующую команду:

Результат будет таким же как и в предыдущем случае.

Проверяем результат. Открываем IDLE и вводим инструкцию import pygame. Если Вы не увидели никаких сообщений об ошибке, то все прошло успешно. Пользуйтесь на здоровье )

Как импортировать pygame в python. importpygame. Как импортировать pygame в python фото. Как импортировать pygame в python-importpygame. картинка Как импортировать pygame в python. картинка importpygame

Рис 3. Успешный импорт PyGame

Установка других модулей или библиотек происходит аналогичным образом.

Источник

Установка pygame и создание шаблона для разработки игр в Python 3

Библиотека pygame – это модуль Python с открытым исходным кодом для разработки игр и мультимедийных приложений. Основанный на портируемой библиотеке SDL, модуль pygame может работать на многих платформах и операционных системах.

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

Этот мануал поможет установить модуль pygame в среду разработки Python и создать шаблон для разработки игр в Python 3.

Требования

Для работы вам понадобится локальная или удаленная среда разработки Python 3.

Кроме того, нужно ознакомиться со следующими руководствами:

Установка pygame

Разверните среду программирования Python 3:

Теперь установите 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 и попробовать импортировать модуль pygame. Чтобы запустить консоль, введите:

Теперь можно импортировать модуль:

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

Если во время импорта произошла ошибка, обратитесь к рекомендациям на сайте pygame.

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

Импортирование pygame

Создайте файл our_game.py.

Начиная работу над проектом pygame, нужно сначала импортировать модуль. Добавьте в начало файла строку:

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

import pygame
from pygame.locals import *

Модуль pygame импортирован в файл проекта. Теперь можно создать шаблон игры.

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

Затем нужно инициализировать pygame с помощью функции init().

import pygame
from pygame.locals import *
pygame.init()

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

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

Функция init() может возвращать кортежи. Кортеж будет сообщать о состоянии инициализации. Это можно сделать как в общем вызове init(), так и при инициализации определенных модулей (это позволит понять, доступны ли эти модули).

i = pygame.init()
print(i)
f = pygame.font.init()
print(f)

Запустив этот код, вы получите вывод:

В данном случае переменная 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(). Вызовите ее:

Эта функция обновляет всю поверхность отображения.

Чаще вместо 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)

Теперь убедитесь, что код работает:

После запуска файла на экране появится окно 800×600. Чтобы проверить события, вы можете навести курсор мыши на окно, щелкнуть по окну и нажать клавиши на клавиатуре. Эти события будут распечатываться в окне консоли.

Вывод выглядит примерно так:

Этот вывод отображает пользовательские события. Такие события будут контролировать игру, поскольку они генерируются пользователем. Всякий раз, когда вы запускаете функцию pygame.event.get (), код будет принимать эти события.

Остановите программу (CTRL + C).

На данном этапе print() можно удалить или закомментировать.

Выход из игры

Чтобы выйти из программы 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.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.

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

Источник

Библиотека pygame №1

Для того чтобы установить pygame на свой компьютер необходимо открыть командную строку или терминал и написать команду

pip3 install pygame

После установки необходимо создать новый файл и импортировать модуль pygame и написать шаблон игры

# Импортируем библиотеку pygame
import pygame
# Импортируем системную функцию exit
from sys import exit

# Инициализируем pygame
pygame. init ()

# Основной цикл игры
while True :
# Ждем события (действия пользователя)
f or event in pygame.event. get ():
# Если нажали на крестик,
# то закрываем окно
if event.type == pygame.QUIT:
pygame. quit ()
exit ()

# Обновляем поверхность игры
# на каждом шаге основного цикла игры
pygame.display. update ()

Цикл for просто перебирает необработанные события. Каждое событие он присваивает переменной event (можно написать любую другую).

Ограничим количество выполнений цикла.

import pygame
from sys import exit

FPS = 60 # Создаем переменную FPS
clock = pg.time. Clock () # Создаем счетчик для FPS
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()

clock. tick (FPS) # Замедляем цикл до 60 выполнений в секунду

Методу tick() передается желаемое количество кадров в секунду. Задержку он вычисляет сам. На каждой итерации основного цикла игры секунда делится на 60 и на вычисленную величину выполняется задержка.

Рисование фигур

В библиотеке pygame существует множество функций для рисования различных фигур.

Функция polygon() рисует произвольную фигуру. Она принимает 3 обязательных параметра (поверхность, цвет и кортеж координат) и 1 необязательный (толщину линий).

import pygame
from sys import exit

FPS = 60
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()

Давайте нарисуем треугольник

import pygame
from sys import exit

FPS = 60 # Создаем переменную FPS
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()

Самостоятельно нарисуйте пятиугольник (вам помогут карандаш и лист бумаги)

Рисование окружностей

Чтобы нарисовать окружность нужно вызвать метод circle из модуля draw. Команда выглядит так: pygame.draw.circle(display, color, position, radius).

import pygame
from sys import exit

FPS = 60
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()

Объявления переменных для цветов

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

import pygame
from sys import exit

FPS = 60
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()

Рисование прямоугольников

Для отрисовки прямоугольников можно использовать метод rect.

pygame.draw.rect(display, color, (x, y, width, height) )

import pygame
from sys import exit

FPS = 60
clock = pg.time. Clock ()
while True :
f or event in pygame.event. get ():
if event.type == pygame.QUIT:
pygame. quit ()
exit ()

Если ваша творческая натура требует большего, то вот ссылка на документацию модулю draw

Там можно найти рисование линий, дуг, эллипсов.

Большой пример ( запусти его у себя на компьтере:

Задания:

1. Нарисуйте дерево из minecraft, используя полученные знания

2. Нарисуйте оранжевую, красную, синию и фиолетовую звезды

Источник

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

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