sınıfKatman(oyun makinesi. Karakter Listesi):
kesinlikle__içinde__(öz, kaydırma_hızı):
süper().__init__()
self.scroll_speed = kaydırma_hızı

sınıfBenim oyunum(oyun makinesi. pencere):
kesinlikle__içinde__(öz, genişlik, yükseklik):
super().__init__(genişlik, yükseklik)
arcade.set_background_color (arcade.color. BEYAZ)
self.player = Hiçbiri
self.platformlar = Hiçbiri
self.katmanlar = []

kesinliklekurmak(kendi):
self.player = Oyuncu()
self.platforms = çarşı. Karakter Listesi()
gri = çarşı.renk. GRİ
kırmızı = çarşı.renk. KIRMIZI
kahverengi = çarşı.renk. KAHVERENGİ
sarı = çarşı.renk. SARI

w = SCREEN_WIDTH // 2
h = SCREEN_HEIGHT // 2

self.platforms.append (Platform (w, h - 100, 200, 20, sarı))
self.platforms.append (Platform (w, h + 100, 200, 20, sarı))

katman_verisi = [
(Katman(0.2), Platform (g, h, 800, 600, gri)),
(Katman(0.5), Platform (w, h - 200, 400, 20, kırmızı)),
(Katman(0.5), Platform (g, h + 200, 400, 20, kırmızı)),
(Katman(1.0), Platform (w, h - 300, 200, 20, kahverengi)),
(Katman(1.0), Platform (g, h + 300, 200, 20, kahverengi))
]

instagram viewer

için katman, platform içinde katman_verileri:
katman.append (platform)
self.layers.append (katman)

sınıfBenim oyunum(oyun makinesi. pencere):
# ...

kesinliklekurmak(kendi):

# ...

katman_verisi = [
(Katman(1.2), Platform (g, h, 800, 600, gri)),
(Katman(2.5), Platform (w, h - 200, 400, 20, kırmızı)),
(Katman(3.0), Platform (g, h + 200, 400, 20, kırmızı)),
(Katman(4.0), Platform (w, h - 300, 200, 20, kahverengi)),
(Katman(5.0), Platform (g, h + 300, 200, 20, kahverengi))
]

# ...

sınıfyağmur damlası(oyun makinesi. karakter):
kesinlikle__içinde__(öz, x, y):
süper().__init__()

self.texture = çarşı.make_soft_square_texture(
3, mavi, outer_alpha=100)

self.center_x = x
self.center_y = y

sınıfArka Plan Katmanı(oyun makinesi. Karakter Listesi):
kesinlikle__içinde__(öz, kaydırma_hızı):
süper().__init__()
self.scroll_speed = kaydırma_hızı
self.raindrops = çarşı. Karakter Listesi()

kesinliklegüncelleme(kendi):
için yağmur damlası içinde self.yağmur damlaları:
yağmur damlası.center_y -= self.scroll_speed * 5

eğer yağmur damlası.merkez_y < -10:
yağmur damlası.remove_from_sprite_lists()

kesinlikleçizmek(kendi):
süper().draw()
self.raindrops.draw()

sınıfBenim oyunum(oyun makinesi. pencere):
kesinlikle__içinde__(öz, genişlik, yükseklik):
super().__init__(genişlik, yükseklik)
arcade.set_background_color (arcade.color. BEYAZ)
self.background_layer = BackgroundLayer(0.2)
# ...

kesinliklekurmak(kendi):
# ...
self.background_layer.raindrops.append(
Yağmur damlası (SCREEN_WIDTH // 2, SCREEN_HEIGHT + 10))

kesinliklegüncelleme(öz, delta_time):
self.player.update()
self.background_layer.update()

kesinlikleon_draw(kendi):
arcade.start_render()
self.background_layer.draw()
self.platforms.draw()
self.player.draw()

Imran, MUO'da teknik içerik yazma konusunda 3 yıllık deneyime sahip bir yazardır. Ayrıca birçok startup ile full-stack geliştirici olarak çalıştı. Yazma ve başkalarının teknoloji hakkında bilgi edinmesine yardımcı olma konusunda tutkulu. Boş zamanlarında yeni programlama dillerini keşfetmekten keyif alıyor.