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

Теория 2

Мысалда ойында секіруді жүзеге асырамыз

Бұл мысалда бет (Surface) анықталып, содан кейін .get_rect() әдісі арқылы 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()

Бет тік төртбұрыш координаталарында көрсетіледі.

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