Spec-Zone.ru › Pygame
pygame.examples
модуль примеров программ

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

Существует несколько способов запуска примеров. Во-первых, они могут быть запущены как самостоятельные программы. Во-вторых, они могут быть импортированы, и их main() методы могут быть вызваны (см. ниже). Наконец, самый простой способ - использовать опцию python -m:

python -m pygame.examples.<example name> <example arguments>

например:

python -m pygame.examples.scaletest someimage.png

Ресурсы, такие как изображения и звуки для примеров, находятся в подкаталоге pygame/examples/data.

Вы можете узнать, где установлены файлы примеров, используя следующие команды внутри интерпретатора python.

>>> import pygame.examples.scaletest
>>> pygame.examples.scaletest.__file__
'/usr/lib/python2.6/site-packages/pygame/examples/scaletest.py'

В каждой операционной системе и версии Python расположение будет немного отличаться. Например, в Windows оно может находиться в 'C:/Python26/Lib/site-packages/pygame/examples/', а в macOS X - в '/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/pygame/examples/'.

Вы также можете запустить примеры в интерпретаторе python, вызвав функцию main() каждого модуля.

>>> import pygame.examples.scaletest
>>> pygame.examples.scaletest.main()

Мы всегда ищем больше примеров и/или запросов на примеры. Код такого рода, вероятно, лучший способ начать участвовать в разработке игр на python.

examples как пакет появился в pygame 1.9.0. Но большинство примеров было с pygame гораздо раньше.

aliens.main()
запустить пример aliens
aliens.main() -> None

Это началось как порт демонстрации SDL , инопланетяне. Теперь это эволюционировало во что-то похожее на развлечение. Это демонстрирует множество различных способов использования спрайтов и оптимизированного blitting. Также прозрачность, цветовые ключи, шрифты, звук, музыка, джойстик и многое другое. (PS, мой максимальный счет 117! удачи)

stars.main()
запустить простой пример звездного неба
stars.main() -> None

Простой пример звездного неба. Вы можете изменить центр перспективы, нажав левой кнопкой мыши на экране.

chimp.main()
попасть по движущемуся шимпанзе
chimp.main() -> None

Этот простой пример взят из пошагового руководства, которое поставляется с pygame. Он основан на «популярном» баннере веб-сайта. Обратите внимание, что здесь есть комментарии, но для полного объяснения следуйте пошаговому руководству.

moveit.main()
отображение анимированных объектов на экране
moveit.main() -> None

Это окончательный пример из руководства по Pygame, «Как заставить его двигаться». Он создает 10 объектов и анимирует их на экране.

Обратите внимание, что в нем немного не хватает проверки ошибок, но его легко читать. :] К счастью, это python, и нам не нужно бороться с кучей кодов ошибок.

fonty.main()
запустить пример рендеринга шрифтов
fonty.main() -> None

Очень быстрая и очень простая программа, демонстрирующая различные способы рендеринга шрифтов с помощью модуля font.

freetype_misc.main()
запустить пример рендеринга FreeType
freetype_misc.main() -> None

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

vgrade.main()
отобразить вертикальный градиент
vgrade.main() -> None

Демонстрирует создание вертикального градиента с помощью pixelcopy и NumPy python. Приложение будет создавать новый градиент каждые полсекунды и сообщать о времени, необходимом для создания и отображения изображения. Если вы не готовы начать работу с массивами NumPy, не беспокойтесь о источнике этого примера :]

eventlist.main()
отображение событий pygame
eventlist.main() -> None

Eventlist - это небрежный стиль pygame, но это полезный инструмент для изучения событий pygame и ввода. В верхней части экрана отображается состояние нескольких значений устройств, а в нижней части - список событий в виде списка.

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

arraydemo.main()
показать различные эффекты surfarray
arraydemo.main(arraytype=None) -> None

Еще один пример, заполненный различными эффектами surfarray. Он требует установки модулей surfarray и image. Эта небольшая демонстрация также может стать хорошей отправной точкой для ваших собственных тестов с surfarray

Параметр arraytype устарел; передача любого значения, кроме 'numpy', приведет к ошибке ValueError.

sound.main()
загрузка и воспроизведение звука
sound.main(file_path=None) -> None

Крайне базовая проверка модуля mixer. Загрузите звук и воспроизведите его. Все из командной строки, без графики.

Если указано, используйте аудиофайл 'file_path', в противном случае используйте файл по умолчанию.

sound.py необязательный аргумент командной строки: аудиофайл

sound_array_demos.main()
воспроизведение различных эффектов sndarray
sound_array_demos.main(arraytype=None) -> None

Использует sndarray и NumPy для создания смещенных затухающих копий исходного звука. В настоящее время он просто использует жестко заданные значения для количества эха и задержки. Легко для вас воссоздать по мере необходимости.

Параметр arraytype устарел; передача любого значения, кроме 'numpy', приведет к ошибке ValueError.

liquid.main()
отобразить анимированный эффект жидкости
liquid.main() -> None

Этот пример был создан в быстром сравнении с языком программирования BlitzBasic для игр. Тем не менее, он демонстрирует быструю 8-битную настройку (с цветовой палитрой).

glcube.main()
отобразить анимированный 3D куб с использованием OpenGL
glcube.main() -> None

Используя PyOpenGL и pygame, это создает вращающийся 3D многоцветный куб.

scrap_clipboard.main()
доступ к буферу обмена
scrap_clipboard.main() -> None

Простой демонстрационный пример для поддержки буфера обмена.

mask.main()
отобразить несколько изображений, отражающихся друг от друга с использованием обнаружения столкновений
mask.main(*args) -> None

Позиционные аргументы:

one or more image file names.

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

Если запускается как программа, то mask.py принимает один или несколько файлов изображений в качестве аргументов командной строки.

testsprite.main()
показать множество спрайтов, движущихся вокруг
testsprite.main(update_rects = True, use_static = False, use_FastRenderGroup = False, screen_dims = [640, 480], use_alpha = False, flags = 0) -> None

Необязательные ключевые аргументы:

update_rects - use the RenderUpdate sprite group class
use_static - include non-moving images
use_FastRenderGroup - Use the FastRenderGroup sprite group
screen_dims - pygame window dimensions
use_alpha - use alpha blending
flags - additional display mode flags

Как и testsprite.c из SDL, эта версия pygame показывает множество спрайтов, движущихся вокруг.

Если запускается как самостоятельная программа, то аргументы командной строки не принимаются.

headless_no_windows_needed.main()
записать файл изображения, являющийся плавно масштабируемой копией входного файла
headless_no_windows_needed.main(fin, fout, w, h) -> None

аргументы:

fin - name of an input image file
fout - name of the output file to create/overwrite
w, h - size of the rescaled image, as integer width and height

Как использовать pygame без системного окна, например, на серверах без графического интерфейса.

Генерация миниатюр с масштабированием — пример того, что можно сделать с помощью pygame.

NOTE: функция масштабирования pygame использует MMX/SSE, если они доступны, и может выполняться в нескольких потоках.

Если headless_no_windows_needed.py выполняется как программа, она принимает следующие аргументы командной строки:

-scale inputimage outputimage new_width new_height
eg. -scale in.png outpng 50 50
joystick.main()
продемонстрировать функциональность джойстика
joystick.main() -> None

Демонстрация полной поддержки джойстика.

Новое в pygame 2.0.2.

blend_fill.main()
продемонстрировать различные варианты смешивания метода surface.fill
blend_fill.main() -> None

Интерактивная демонстрация, позволяющая выбрать вариант BLEND_xxx для применения к поверхности.

blit_blends.main()
использует альтернативное аддитивное заполнение вместо surface.fill
blit_blends.main() -> None

Заглушка для аддитивного смешивания. Использует NumPy. Не выполняет ограничение. Нажмите r, g, b. Немного похоже на blend_fill.

cursors.main()
отобразить два различных пользовательских курсора
cursors.main() -> None

Отображение курсора стрелка или круга с перекладиной.

pixelarray.main()
отобразить различные эффекты, сгенерированные pixelarray
pixelarray.main() -> None

Отображение различных эффектов, сгенерированных pixelarray.

scaletest.main()
интерактивно масштабировать изображение с помощью smoothscale
scaletest.main(imagefile, convert_alpha=False, run_speed_test=True) -> None

аргументы:

imagefile - file name of source image (required)
convert_alpha - use convert_alpha() on the surf (default False)
run_speed_test - (default False)

Пример smoothscale, который изменяет размер изображения на экране. Стрелки вверх и вниз используются для изменения ширины и высоты отображаемого изображения. Если параметр convert_alpha равен True, то исходное изображение принудительно получает альфа-канал, независимо от того, есть ли он в оригинале. Если run_speed_test равен True, то вместо интерактивного масштабирования выполняется тест производительности в фоновом режиме.

Если scaletest.py выполняется как программа, то опции командной строки:

ImageFile [-t] [-convert_alpha]
[-t] = Run Speed Test
[-convert_alpha] = Use convert_alpha() on the surf.
midi.main()
выполнить пример midi
midi.main(mode='output', device_id=None) -> None

Аргументы:

mode - if 'output' run a midi keyboard output example
          'input' run a midi event logger input example
          'list' list available midi devices
       (default 'output')
device_id - midi device number; if None then use the default midi input or
            output device for the system

Пример вывода показывает, как преобразовать щелчки мыши или события клавиатуры компьютера в ноты midi. Он реализует примитивное виджет-кнопку и машину состояний.

Пример ввода показывает, как преобразовать midi-ввод в события pygame.

С помощью виртуального midi-соединения примеры вывода и ввода могут выполняться как отдельные процессы и соединяться, так что вывод клавиатуры отображается в консоли.

Новое в pygame 1.9.0

scroll.main()
выполнить пример Surface.scroll, который показывает увеличенное изображение
scroll.main(image_file=None) -> None

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

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

camera.main()
отобразить видео, записанное с подключенной камеры
camera.main() -> None

Простой плеер для видео в реальном времени, он использует первую доступную камеру в системе.

playmus.main()
воспроизвести аудиофайл
playmus.main(file_path) -> None

Простой музыкальный проигрыватель с окном и управлением воспроизведением с помощью клавиатуры. Воспроизведение можно приостановить и перемотать к началу.




Изменить на GitHub

© Pygame Developers.
Licensed under the GNU LGPL License version 2.1.
https://www.pygame.org/docs/ref/examples.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API