Статья Автор: Омарбек Нұр-Мұхаммед

Примеры

Пример

В этом примере определяется поверхность, а затем создаётся объект класса Rect с помощью метода .get_rect():

import sys
import pygame
pygame.init()

SIZE = WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode(SIZE)
clock = pygame.time.Clock()

player = pygame.Surface((50, 50))
player.fill((255, 0, 0))
player_rect = player.get_rect()

while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    screen.fill((0, 0, 0))
    screen.blit(player, (375, 275))
    pygame.display.update()

    clock.tick(30)

 

Пример прыжка

1. Переменные:

  • player_jump = 30 - сила прыжка
  • y_velocity = player_jump + 1 - скорость по оси Y

 

2. Поверхность и прямоугольник:

player = pygame.Surface((50, 50))
player.fill((255, 0, 0))

player_rect = player.get_rect()
player_rect.center = WIDTH // 2 - player_rect.width // 2, HEIGHT - player_rect.height // 2

 

3. Событие:

keys = pygame.key.get_pressed()

if keys[pygame.K_SPACE] and player_rect.bottom == 600:
    y_velocity = player_jump * -1

Если клавиша пробел нажата и игрок находится на земле.

 

4. Прыжок и обратное падение:

if y_velocity <= player_jump:

    if player_rect.bottom + y_velocity < 600:
        player_rect.bottom += y_velocity
        if y_velocity < player_jump:
            y_velocity += 1
    else:
        player_rect.bottom = 600
        y_velocity = player_jump + 1

 

5. Отрисовка:

screen.fill((0, 0, 0))

screen.blit(player, player_rect)

pygame.display.update()

Поверхность отображается в координатах прямоугольника.

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать