Lingkaran, Garis, Poligon
Termasuk bagian Perulangan Game dalam perjalanan Pygame di Coddy. Pelajaran 9 dari 32.
Sejauh ini kamu telah menggambar persegi panjang. pygame.draw memiliki lebih banyak bentuk, dan semuanya dimulai dengan cara yang sama: permukaan tempat menggambar, lalu warnanya.
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)])Lingkaran membutuhkan titik pusat dan jari-jarinya. Berbeda dengan persegi panjang, lingkaran ditempatkan berdasarkan titik tengahnya, bukan sudut kiri atasnya. Jari-jari 30 menghasilkan lingkaran dengan lebar 60 piksel.
Garis membutuhkan dua titik ujungnya, lalu lebarnya dalam piksel. Tanpa lebar yang ditentukan, ketebalannya 1 piksel.
Poligon membutuhkan daftar titik sudut dan mengisi bentuk di antara titik-titik tersebut, dengan menghubungkan titik terakhir kembali ke titik pertama. Tiga titik membentuk segitiga, empat titik membentuk belah ketupat.
Tantangan
MudahGambar perahu layar di laut, setelah mengisi layar:
- Matahari: lingkaran kuning
(255, 196, 0)yang berpusat di(380, 80)dengan radius40. - Laut: garis biru
(80, 160, 255)dari(0, 280)ke(480, 280), dengan ketebalan4piksel. - Layar: poligon merah
(235, 80, 80)dengan sudut(240, 120),(240, 250), dan(160, 250).
Coba sendiri
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))
# gambar matahari, laut, dan layar perahu di sini
pygame.display.flip()
clock.tick(60)
pygame.quit()
Semua pelajaran di Perulangan Game
1Gerakkan Persegi
Buka JendelaIsi Latar Belakang4Bergerak Berdasarkan Waktu
Delta WaktuPiksel per DetikVector2Percepatan dan GesekanBerputar Kembali di LayarLatihan sendiri: Playground Pygame