Тип | API |
---|---|
Розробник | Pygame Community |
Стабільний випуск | 2.1.2 (26 грудня 2021 ) |
Операційна система | Багатоплатформність |
Мова програмування | C і Python[1] |
Ліцензія | GNU Lesser General Public License |
Репозиторій | github.com/pygame/pygame/ |
Вебсайт | pygame.org |
|
Pygame — набір кросплатформенних модулів для мови програмування Python, створений для розробки відеоігор. Включає в себе бібліотеки комп'ютерної графіки і звуку на базі SDL.
Історія розробки
Pygame був розроблений Піттом Шінером в 2000-му році, як заміну застарілому . Метою автора було ефективно поєднати Python з SDL. Pygame має наближений до обʼєктно-орієнтованого інтерфейс, що робить його більш нативним з Python, ніж , який мав "вплив" стилю C (мова програмування).
Зараз розробка ведеться відкрито спільнотою Pygame, бібліотека поширюєтся як вільне програмне забезпечення GNU Lesser General Public License.
Підтримка
Підтримує Linux (pygame входить до складу найпопулярніших його дистрибутивів), Windows (95, 98, me, 2000, XP, Vista, 7, 8, 10), Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, , Solaris, IRIX, та QNX. Код також може підтримувати AmigaOS, Dreamcast, Atari, AIX, , RISC OS, SymbianOS, та (OS/2), але це не офіційні розширення. Також підтримку отримала Android.
Особливості
Функції ядра бібліотеки написані на С та Assembly. Це робить pygame дедалі швидшим, через те, що С код зазвичай в 10-20 разів швидший за Python, а Assembly в свою чергу в 100 раз швидший, ніж Python.
Також в залежностях pygame немає OpenGL, що забезпечує простішу розробку та портативність.
Модулі Pygame
Pygame має функцію pygame.init(), яка ініціалізує всі модулі бібліотеки.
pygame.init()
Нині в версії 2.1.2 Pygame присутні такі модулі []
- pygame._sdl2.controller - модуль для роботи з контролерами
- pygame._sdl2.touch - модуль для роботи з сенсорним екраном
- pygame._sdl2.video - експериментальний модуль для портування нових відео систем SDL.
- pygame.camera - модуль для отримання зображення з камери
- pygame.cdrom - модуль управління пристроями компакт-дисків і відтворення звуку
- pygame.cursors - модуль завантаження зображень курсору, включає стандартні курсори
- pygame.display - модуль управління вікном або екраном
screen = pygame.display.set_mode((1080,720)) #Створюємо вікно розміром 1080 на 720 пікселів
- pygame.draw - модуль малювання графічних примітивів на поверхні (клас Surface)
pygame.draw.rect(screen, (255, 255, 255), (20, 20, 100, 75)) #Малюємо прямокутник білого кольору на поверхні screen pygame.draw.rect(screen, (64, 128, 255), (150, 20, 100, 75), 8) #Малюємо прямокутник білого кольору на поверхні screen з краєм в 8 пікселів
- pygame.examples - модуль який містить приклади використання Pygame
- pygame.event - модуль управління подіями і чергою подій
- pygame.fastevent - модуль для багатопоточного управлінням подіями та чергою подій
- pygame.font - модуль завантаження та відображення тексту, використовує TrueType
- pygame.freetype - вдосконалений модуль завантаження та відображення тексту, використовує FreeType
font_a = pygame.font.SysFont('arial', 36) #Завантажуємо шрифт, який вже є встановленим на пристрої fonta_b = pygame.font.Font('/usr/share/fonts/truetype/msttcorefonts/Arial.ttf', 36) #Завантажуємо шрифт з файлу
- pygame.gfxdraw - модуль для відображення графічних примітивів
- pygame.image - модуль збереження і завантаження зображень
dog_image = pygame.image.load('dog.bmp') #Завантажуємо зображення dog_image.set_colorkey((255, 255, 255)) #Встановлюємо колір альфа-каналу(для прозорості)
- pygame.joystick - модуль для взаємодії з джойстиком, геймпадом та трекболом
- pygame.key - модуль управління клавіатурою
- pygame.locals - модуль з константами Pygame
- pygame.mask - модуль для використання масок зображення
- pygame.math - модуль який містить математичні вектори
- pygame.midi - модуль взаємодії з MIDI портами
- pygame.mixer - модуль для завантаження та відтворення звуку
- pygame.mixer.music - модуль контролю поточного звуку
- pygame.mouse - модуль управління мишею
pygame.movie- модуль програвання MPEG кліпів(застарілий модуль, відсутній в нових версіях)- pygame.pixelcopy - модуль для загального копіювання масиву пікселів
- pygame.scrap - модуль для взаємодії з буфером обміну
- pygame.sndarray - модуль управління звуками за допомогою класу Numeric
- pygame.surfarray - модуль управління зображеннями за допомогою класу Numeric
- pygame.sprite - модуль для роботи зі спрайтами
- pygame.surfarray - модуль який конвертує зображення в масив пікселів
- pygame.tests - модуль для зручного тестування бібліотеки
- pygame.time - модуль управління часом та таймерами
- pygame.transform - модуль зміни розмірів, обертання і зміна орієнтації зображень
dog_image = pygame.transform.flip(dog_image, 1, 0) #Функція повертає відзеркалене зображення по вертикалі
- pygame.version - невеличкий модуль, який містить в собі інформацію про версію Pygame
Спільнота
Спільнота pygame — це невелика група волонтерів, які люблять створювати красиві речі. Як зазначено на офіційному сайті [ 22 вересня 2013 у Wayback Machine.], крім людей до спільноти належать декілька котів, коал, десяток собак, 3.14 гномів і 42 робота.
Hello World!
Приклад програми з використанням Pygame з офіційного сайту [ 10 квітня 2022 у Wayback Machine.] [ 10 квітня 2022 у Wayback Machine.]
import sys, pygame pygame.init() size = width, height = 320, 240 speed = [2, 2] black = 0, 0, 0 screen = pygame.display.set_mode(size) ball = pygame.image.load("intro_ball.gif") ballrect = ball.get_rect() while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() ballrect = ballrect.move(speed) if ballrect.left < 0 or ballrect.right > width: speed[0] = -speed[0] if ballrect.top < 0 or ballrect.bottom > height: speed[1] = -speed[1] screen.fill(black) screen.blit(ball, ballrect) pygame.display.flip()
Див. також
Примітки
- The pygame Open Source Project on Open Hub: Languages Page — 2006.
- . www.pygame.org (Англійська) . Архів оригіналу за 10 квітня 2022. Процитовано 6 травня 2022.
- . groups.google.com (Англійська) . Архів оригіналу за 6 травня 2022. Процитовано 6 травня 2022.
Література
- — книга, яка знайомить з програмуванням і розробки ігор з Python і Pygame
- Introduction to Computer Science Using Python and Pygame [ 3 вересня 2011 у Wayback Machine.] електронна книга, яка знайомить з програмуванням на Python і Pygame.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
maintainer PygameTipAPIRozrobnikPygame CommunityStabilnij vipusk2 1 2 26 grudnya 2021 2 roki tomu 2021 12 26 Operacijna sistemaBagatoplatformnistMova programuvannyaC i Python 1 LicenziyaGNU Lesser General Public LicenseRepozitorijgithub com pygame pygame Vebsajtpygame org Mediafajli u Vikishovishi Pygame nabir krosplatformennih moduliv dlya movi programuvannya Python stvorenij dlya rozrobki videoigor Vklyuchaye v sebe biblioteki komp yuternoyi grafiki i zvuku na bazi SDL Istoriya rozrobkiPygame buv rozroblenij Pittom Shinerom v 2000 mu roci yak zaminu zastarilomu Metoyu avtora bulo efektivno poyednati Python z SDL Pygame maye nablizhenij do obʼyektno oriyentovanogo interfejs sho robit jogo bilsh nativnim z Python nizh yakij mav vpliv stilyu C mova programuvannya Zaraz rozrobka vedetsya vidkrito spilnotoyu Pygame biblioteka poshiryuyetsya yak vilne programne zabezpechennya GNU Lesser General Public License PidtrimkaPidtrimuye Linux pygame vhodit do skladu najpopulyarnishih jogo distributiviv Windows 95 98 me 2000 XP Vista 7 8 10 Windows CE BeOS MacOS Mac OS X FreeBSD NetBSD OpenBSD Solaris IRIX ta QNX Kod takozh mozhe pidtrimuvati AmigaOS Dreamcast Atari AIX RISC OS SymbianOS ta OS 2 ale ce ne oficijni rozshirennya Takozh pidtrimku otrimala Android OsoblivostiFunkciyi yadra biblioteki napisani na S ta Assembly Ce robit pygame dedali shvidshim cherez te sho S kod zazvichaj v 10 20 raziv shvidshij za Python a Assembly v svoyu chergu v 100 raz shvidshij nizh Python Takozh v zalezhnostyah pygame nemaye OpenGL sho zabezpechuye prostishu rozrobku ta portativnist Moduli PygamePygame maye funkciyu pygame init yaka inicializuye vsi moduli biblioteki pygame init Nini v versiyi 2 1 2 Pygame prisutni taki moduli pygame sdl2 controller modul dlya roboti z kontrolerami pygame sdl2 touch modul dlya roboti z sensornim ekranom pygame sdl2 video eksperimentalnij modul dlya portuvannya novih video sistem SDL pygame camera modul dlya otrimannya zobrazhennya z kameri pygame cdrom modul upravlinnya pristroyami kompakt diskiv i vidtvorennya zvuku pygame cursors modul zavantazhennya zobrazhen kursoru vklyuchaye standartni kursori pygame display modul upravlinnya viknom abo ekranom screen pygame display set mode 1080 720 Stvoryuyemo vikno rozmirom 1080 na 720 pikseliv pygame draw modul malyuvannya grafichnih primitiviv na poverhni klas Surface pygame draw rect screen 255 255 255 20 20 100 75 Malyuyemo pryamokutnik bilogo koloru na poverhni screen pygame draw rect screen 64 128 255 150 20 100 75 8 Malyuyemo pryamokutnik bilogo koloru na poverhni screen z krayem v 8 pikseliv pygame examples modul yakij mistit prikladi vikoristannya Pygame pygame event modul upravlinnya podiyami i chergoyu podij pygame fastevent modul dlya bagatopotochnogo upravlinnyam podiyami ta chergoyu podij pygame font modul zavantazhennya ta vidobrazhennya tekstu vikoristovuye TrueType pygame freetype vdoskonalenij modul zavantazhennya ta vidobrazhennya tekstu vikoristovuye FreeType font a pygame font SysFont arial 36 Zavantazhuyemo shrift yakij vzhe ye vstanovlenim na pristroyi fonta b pygame font Font usr share fonts truetype msttcorefonts Arial ttf 36 Zavantazhuyemo shrift z fajlu pygame gfxdraw modul dlya vidobrazhennya grafichnih primitiviv pygame image modul zberezhennya i zavantazhennya zobrazhen dog image pygame image load dog bmp Zavantazhuyemo zobrazhennya dog image set colorkey 255 255 255 Vstanovlyuyemo kolir alfa kanalu dlya prozorosti pygame joystick modul dlya vzayemodiyi z dzhojstikom gejmpadom ta trekbolom pygame key modul upravlinnya klaviaturoyu pygame locals modul z konstantami Pygame pygame mask modul dlya vikoristannya masok zobrazhennya pygame math modul yakij mistit matematichni vektori pygame midi modul vzayemodiyi z MIDI portami pygame mixer modul dlya zavantazhennya ta vidtvorennya zvuku pygame mixer music modul kontrolyu potochnogo zvuku pygame mouse modul upravlinnya misheyu pygame movie modul progravannya MPEG klipiv zastarilij modul vidsutnij v novih versiyah pygame pixelcopy modul dlya zagalnogo kopiyuvannya masivu pikseliv pygame scrap modul dlya vzayemodiyi z buferom obminu pygame sndarray modul upravlinnya zvukami za dopomogoyu klasu Numeric pygame surfarray modul upravlinnya zobrazhennyami za dopomogoyu klasu Numeric pygame sprite modul dlya roboti zi sprajtami pygame surfarray modul yakij konvertuye zobrazhennya v masiv pikseliv pygame tests modul dlya zruchnogo testuvannya biblioteki pygame time modul upravlinnya chasom ta tajmerami pygame transform modul zmini rozmiriv obertannya i zmina oriyentaciyi zobrazhen dog image pygame transform flip dog image 1 0 Funkciya povertaye vidzerkalene zobrazhennya po vertikali pygame version nevelichkij modul yakij mistit v sobi informaciyu pro versiyu PygameSpilnotaSpilnota pygame ce nevelika grupa volonteriv yaki lyublyat stvoryuvati krasivi rechi Yak zaznacheno na oficijnomu sajti 22 veresnya 2013 u Wayback Machine krim lyudej do spilnoti nalezhat dekilka kotiv koal desyatok sobak 3 14 gnomiv i 42 robota Hello World Priklad programi z vikoristannyam Pygame z oficijnogo sajtu 10 kvitnya 2022 u Wayback Machine 10 kvitnya 2022 u Wayback Machine import sys pygame pygame init size width height 320 240 speed 2 2 black 0 0 0 screen pygame display set mode size ball pygame image load intro ball gif ballrect ball get rect while 1 for event in pygame event get if event type pygame QUIT sys exit ballrect ballrect move speed if ballrect left lt 0 or ballrect right gt width speed 0 speed 0 if ballrect top lt 0 or ballrect bottom gt height speed 1 speed 1 screen fill black screen blit ball ballrect pygame display flip Div takozhPyglet biblioteka Python sho nadaye ob yektno oriyentovanij interfejs do OpenGL biblioteka z bindingami OpenGL pid PythonPrimitkiThe pygame Open Source Project on Open Hub Languages Page 2006 d Track Q124688 www pygame org Anglijska Arhiv originalu za 10 kvitnya 2022 Procitovano 6 travnya 2022 groups google com Anglijska Arhiv originalu za 6 travnya 2022 Procitovano 6 travnya 2022 Literatura kniga yaka znajomit z programuvannyam i rozrobki igor z Python i Pygame Introduction to Computer Science Using Python and Pygame 3 veresnya 2011 u Wayback Machine elektronna kniga yaka znajomit z programuvannyam na Python i Pygame