method
Termasuk bagian Sprite dan Gambar dalam perjalanan Pygame di Coddy. Pelajaran 11 dari 36.
Angka-angka bintang kini tersimpan di dalam class, tetapi aturannya, cara bintang bergerak jatuh dan digambar, masih berada di dalam perulangan. Fungsi yang ditulis di dalam class disebut method, dan fungsi tersebut menempatkan aturan di dekat datanya:
class Star:
# __init__ seperti sebelumnya
def update(self):
self.y += self.speed
if self.y > 480:
self.y = 0
def draw(self, screen):
pygame.draw.circle(screen, (255, 255, 255), (self.x, self.y), 4)Parameter pertama setiap method adalah self, object yang digunakan method tersebut. Kamu memanggil method pada object dengan tanda titik, dan Surface dari pygame diberikan seperti argumen lainnya:
star.update()
star.draw(screen)Sekarang, perulangan utama menggambarkan apa yang terjadi dalam satu frame: perbarui bintang, lalu gambar bintang. Object game dalam program pygame hampir selalu memiliki dua method ini, update dan draw.
Tantangan
Sedang- Tambahkan method
update(self)keStar: method ini menambahkanself.speedkeself.ydan mengembalikan bintang key = 0setelahself.ylebih dari 480. - Tambahkan
draw(self, screen): lingkaran putih dengan radius 4 di(self.x, self.y). - Di dalam perulangan, panggil
star.update()dan, setelah pengisian, panggilstar.draw(screen).
Coba sendiri
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Falling Star")
clock = pygame.time.Clock()
class Star:
def __init__(self, x, y):
self.x = x
self.y = y
self.speed = 2
star = Star(320, 0)
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()
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
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