class pertamamu
Termasuk bagian Sprite dan Gambar dalam perjalanan Pygame di Coddy. Pelajaran 10 dari 36.
Bintang terdiri dari tiga variabel: star_x, star_y, dan star_speed. Cara ini cukup untuk satu bintang, tetapi langit yang penuh bintang membutuhkan cara yang lebih baik untuk menyimpan angka setiap bintang secara bersamaan.
class adalah rancangan untuk suatu jenis object. Setiap object yang dibuat darinya membawa nilainya sendiri, yang disebut atribut:
class Star:
def __init__(self, x, y):
self.x = x
self.y = y
self.speed = 2
star = Star(320, 0)Star(320, 0) membuat object Star baru. Python kemudian menjalankan __init__ pada object itu, yaitu fungsi di dalam class yang menyiapkan setiap object baru. Nama ini, dengan dua garis bawah di setiap sisinya, adalah nama yang dicari Python. Fungsi tersebut dijalankan dengan x = 320 dan y = 0. Di dalamnya, self adalah object baru tersebut, jadi self.x = x menyimpan 320 di dalamnya. Di luar class, kamu mengakses nilai yang sama dengan star.x, dan mengubahnya dengan cara yang sama: star.y += star.speed.
Nama class diawali dengan huruf kapital: Star adalah rancangannya, sedangkan star adalah satu bintang yang dibuat dari rancangan itu.
Tantangan
Mudah- Tulis class
Staryang menyimpanself.x,self.y, danself.speed = 2di dalam__init__(self, x, y). - Ganti ketiga variabel dengan
star = Star(320, 0). - Dalam perulangan, gunakan
star.y,star.speed, danstar.xsebagai pengganti variabel yang lama.
Coba sendiri
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Falling Star")
clock = pygame.time.Clock()
star_x = 320
star_y = 0
star_speed = 2
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
star_y += star_speed
if star_y > 480:
star_y = 0
screen.fill((20, 22, 40))
pygame.draw.circle(screen, (255, 255, 255), (star_x, star_y), 4)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Semua pelajaran di Sprite dan Gambar
2Putar, Cerminkan, Ubah Skala
Putar Mengelilingi Titik TengahHadap ke Arah TerbangmuUbah Skala GambarPutar dari Gambar Asli3class untuk object game
class pertamamumethodself adalah objectlist berisi objectobject dengan gambarsubclass6Animasi dari Sprite Sheet
Memotong Sprite SheetPenghitung FrameMenganimasikan dengan WaktuLedakan Sekali JalanLatihan sendiri: Playground Pygame