Python + Pygame. Урок 1.

3 хв. читання

Доброго часу доби усім.

Для початку скажу, що я буду використовувати Python 2.7, але ви можете використовувати і третю версію, так як Pygame не залежить від якоїсь конкретної версії Python.

Для того, щоб вся інформація добре сприймалась, я сподіваюсь, що у вас є базові розуміння Python і його синтаксису. Також ви не зобов'язані робити все точно за мною, так як я буду пояснювати основи Pygame, тому давайте волю фантазії при створенні гри.

На сьогодні у нас такий план:

  • Встановлення Pygame;

  • Створення вікна і робочої поверхні Pygame;

Готові? Тоді розпочинаємо!

Користувачі всіх ОС можуть встановити Pygame за допомогою pip:

sudo pip install pygame #Linux and Mac OS X
pip install pygame #Windows

Якщо вам не подобається такий спосіб, то заходимо на офіційний сайт і завантажуємо відповідну вам версію.

Щоб почати роботу із Pygame, треба імпортувати бібліотеку:

import pygame

і ініціалізувати:

pygame.init()

Тепер створимо вікно. Так як вікно - це об'єкт, ми присвоїмо його змінній:

display_width = 400 #Ширина
display_heigh = 400 #Довжина

window = pygame.display.set_mode((display_width, display_heigh))

Ця функція приймає кортеж із двох значень: ширини і довжини.

Далі потрібно вікну дати якусь назву. Не будемо порушувати традицію:

pygame.display.set_caption('Hello, Pygame')

Тепер створимо ігрову поверхню:

gameDisplay = pygame.Surface((display_width, display_heigh))

Ця функція також приймає кортеж. Прошу вас звернути на це увагу, так як це означає, що функція приймає один аргумент, а не два.

Тепер трішки про те, як працює гра. Створюється один великий цикл, в якому відбуваються деякі події: рух об'єктів, зіткнення, натискання клавіш, кнопки вікна.

Створимо цикл:

done = True
while done:

Думаю, що тут все зрозуміло. Поки істина, цикл буде виконуватись.

Тепер за допомогою функції blit відрендиремо нашу ігрову поверхню:

window.blit(gameDisplay, (0,0))
pygame.display.flip() #цей рядок повинен бути в кінці ігрового циклу

Функція blit приймає два аргументи: вікно і кортеж із початковими точками.

Функція flip на кожній ітерації циклу оновлює наш ігровий екран.

Якщо ми зараз запустимо, то побачимо чорне вікно, яке не закривається. Це тому що ми не прописали подію закриття вікна. Тому зараз я покажу як в Pygame відслідковуються події. За допомогою event.get() ми отримуємо список, а по ньому можна пройтись циклом for:

#зразу після while
for e in pygame.event.get():
    if e.type == pygame.QUIT:
        done = False

Тепер ваше вікно буде закриватись.

Тепер пофарбуємо наш ігровий екран за допомогою функції fill:

gameDisplay.fill((0, 255, 0))

Функція fill приймає кортеж із трьох цифр, що є кольором по RGB.

Запускаємо і бачимо зелене вікно.

Змінимо розмір ігрової поверхні:

gameDisplay = pygame.Surface((40, 40))

І розташування:

window.blit(gameDisplay, (10,70))

Тепер у нас є об'єкт, рухати якого будемо в наступному уроці :)

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація