- 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()
-
запустить пример aliensaliens.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()
-
запустить пример рендеринга FreeTypefreetype_misc.main() -> None
Демонстрация функций рендеринга, которые предоставляет класс
pygame.freetype.Fontпомимо тех, которые доступны сpygame.font.Font. Это демонстрация прямого рендеринга на поверхность, с вертикальным текстом и повернутым текстом, непрозрачным текстом и полупрозрачным текстом, горизонтально растянутым текстом и вертикально растянутым текстом.
- vgrade.main()
-
отобразить вертикальный градиентvgrade.main() -> None
Демонстрирует создание вертикального градиента с помощью pixelcopy и NumPy python. Приложение будет создавать новый градиент каждые полсекунды и сообщать о времени, необходимом для создания и отображения изображения. Если вы не готовы начать работу с массивами NumPy, не беспокойтесь о источнике этого примера :]
- eventlist.main()
-
отображение событий pygameeventlist.main() -> None
Eventlist - это небрежный стиль pygame, но это полезный инструмент для изучения событий pygame и ввода. В верхней части экрана отображается состояние нескольких значений устройств, а в нижней части - список событий в виде списка.
Это вовсе не качественный код «пользовательского интерфейса», но вы можете увидеть, как реализовать очень неинтерактивные отображения состояния или даже примитивный контрольный вывод текста.
- arraydemo.main()
-
показать различные эффекты surfarrayarraydemo.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()
-
воспроизведение различных эффектов sndarraysound_array_demos.main(arraytype=None) -> None
Использует sndarray и NumPy для создания смещенных затухающих копий исходного звука. В настоящее время он просто использует жестко заданные значения для количества эха и задержки. Легко для вас воссоздать по мере необходимости.
Параметр
arraytypeустарел; передача любого значения, кроме 'numpy', приведет к ошибке ValueError.
- liquid.main()
-
отобразить анимированный эффект жидкостиliquid.main() -> None
Этот пример был создан в быстром сравнении с языком программирования BlitzBasic для игр. Тем не менее, он демонстрирует быструю 8-битную настройку (с цветовой палитрой).
- glcube.main()
-
отобразить анимированный 3D куб с использованием OpenGLglcube.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.fillblend_fill.main() -> None
Интерактивная демонстрация, позволяющая выбрать вариант BLEND_xxx для применения к поверхности.
- blit_blends.main()
-
использует альтернативное аддитивное заполнение вместо surface.fillblit_blends.main() -> None
Заглушка для аддитивного смешивания. Использует NumPy. Не выполняет ограничение. Нажмите r, g, b. Немного похоже на blend_fill.
- cursors.main()
-
отобразить два различных пользовательских курсораcursors.main() -> None
Отображение курсора стрелка или круга с перекладиной.
- pixelarray.main()
-
отобразить различные эффекты, сгенерированные pixelarraypixelarray.main() -> None
Отображение различных эффектов, сгенерированных pixelarray.
- scaletest.main()
-
интерактивно масштабировать изображение с помощью smoothscalescaletest.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()
-
выполнить пример midimidi.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