Реєстрація Доступ без реєстрації
 

Основний цикл

Ви помітили, що програма, яку ми створили щойно, не завершує свою роботу (або вікно з'являється і одразу зникає). Щоб усунути цю проблему, скористаємось командою pygame.quit(). Ця команда завершує роботу pygame. Додайте цю команду і перезапустіть програму. Програма запуститься і одразу закінчить роботу. Можна, звичайно, організувати нескінченний цикл.

import pygame
pygame.init()
screen=pygame.display.set_mode((800,600))
pygame.display.set_caption('My TITLE')
while True:
    pass
 

Нагадуємо, що  pass  - нічого не робити. Тіло циклу в Python не може бути порожнім.

Завершення роботи доданків зазвичай відбувається з ініціативи користувача, тобто необхідно обробити команду (натискання клавіші, кнопки, вибір пункту з меню або інше). Отже, доданок повинен обробити певну ПОДІЮ. Можна перервати виконання циклу командою break, але краще оголосити змінну логічного типу.

Наступний приклад являє собою реалізацію основного циклу з обробкою події..

import pygame
pygame.init()
screen=pygame.display.set_mode([800,600])
running=True 
# службова змінна: істина - продовжити роботу, хиба  - припинити 
while running: # основний цикл
    for event in pygame.event.get() : # всі події
        if event.type==pygame.QUIT:   # припинити роботу
            running=False       # виходимо з циклу
pygame.quit()   # і завершуємо програму

Програма 1

import pygame
pygame.init()
screen=pygame.display.set_mode([800,600])
running=True
while running:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
pygame.quit()

Програма 2

import pygame
pygame.init()
screen=pygame.display.set_mode([800,600])
running=True
while running:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
    pygame.quit()

Програма 3

import pygame
pygame.init()
screen=pygame.display.set_mode([800,600])
running=True
while running:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
        pygame.quit()

Програма 4

import pygame
pygame.init()
screen=pygame.display.set_mode([800,600])
running=True
while running:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
            pygame.quit()

Які програми чекатимуть завершення?

1
2
3
4


В системі: гості(1), користувачі
© ЛІКТ 2008-2025