Menu
CoddyTech

Okręgi, linie i wielokąty

Część sekcji Pętla gry ścieżki Pygame w Coddy. Lekcja 9 z 32.

Do tej pory rysowałeś prostokąty. pygame.draw udostępnia więcej kształtów, a wszystkie zaczynają się tak samo: najpierw powierzchnia, na której rysujesz, a potem kolor.

pygame.draw.circle(screen, (255, 196, 0), (100, 80), 30)
pygame.draw.line(screen, (240, 240, 240), (0, 200), (480, 200), 3)
pygame.draw.polygon(screen, (60, 200, 120), [(240, 40), (280, 120), (200, 120)])

Okrąg wymaga podania środka i promienia. W przeciwieństwie do prostokąta jest umieszczany według środka, a nie lewego górnego rogu. Promień równy 30 daje okrąg o średnicy 60 pikseli.

Linia wymaga podania dwóch punktów końcowych, a na końcu jej szerokości w pikselach. Bez podania szerokości ma grubość 1 piksela.

Wielokąt wymaga podania listy punktów narożnych i wypełnia kształt między nimi, łącząc ostatni punkt z pierwszym. Trzy punkty tworzą trójkąt, a cztery — romb.

challenge icon

Wyzwanie

Łatwy

Narysuj żaglówkę na morzu, po wypełnieniu:

  1. Słońce: żółte koło (255, 196, 0) wyśrodkowane w punkcie (380, 80), o promieniu 40.
  2. Morze: niebieska linia (80, 160, 255) od punktu (0, 280) do punktu (480, 280), o grubości 4 pikseli.
  3. Żagiel: czerwony wielokąt (235, 80, 80) o wierzchołkach (240, 120), (240, 250) i (160, 250).

Spróbuj swoich sił

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Sailboat")
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    # narysuj tutaj słońce, morze i żagiel
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Wszystkie lekcje w sekcji Pętla gry

Poćwicz samodzielnie: Edytor online Pygame