razredaSloj(arkada. SpriteList):
def__u tome__(self, scroll_speed):
super().__init__()
self.scroll_speed = brzina_klizanja

razredaMoja Igra(arkada. Prozor):
def__u tome__(ja, širina, visina):
super().__init__(širina, visina)
arcade.set_background_color (arcade.color. BIJELA)
sam.igrač = Nijedan
sam.platforme = Nijedan
self.layers = []

defpostaviti(sebe):
self.player = Player()
self.platforme = arkada. SpriteList()
siva = arkada.boja. SIVA
crvena = arkada.boja. CRVENA
smeđa = arkada.boja. SMEĐA
žuto = arkada.boja. ŽUTA BOJA

w = SCREEN_WIDTH // 2
h = VISINA_EKRANA // 2

self.platforms.append (Platforma (w, h - 100, 200, 20, žuta))
self.platforms.append (Platforma (w, h + 100, 200, 20, žuta))

podaci_slojeva = [
(Sloj(0.2), platforma (š, v, 800, 600, siva)),
(Sloj(0.5), platforma (š, v - 200, 400, 20, Crvena)),
(Sloj(0.5), Platforma (š, v + 200, 400, 20, Crvena)),
(Sloj(1.0), platforma (š, v - 300, 200, 20, smeđa)),
(Sloj(1.0), Platforma (š, v + 300, 200, 20, smeđa))
]

za sloj, platforma u podaci_slojeva:
sloj.dodavanje (platforma)
self.layers.append (sloj)

instagram viewer
razredaMoja Igra(arkada. Prozor):
# ...

defpostaviti(sebe):

# ...

podaci_slojeva = [
(Sloj(1.2), platforma (š, v, 800, 600, siva)),
(Sloj(2.5), platforma (š, v - 200, 400, 20, Crvena)),
(Sloj(3.0), Platforma (š, v + 200, 400, 20, Crvena)),
(Sloj(4.0), platforma (š, v - 300, 200, 20, smeđa)),
(Sloj(5.0), Platforma (š, v + 300, 200, 20, smeđa))
]

# ...

razredaKapljica kiše(arkada. Sprite):
def__u tome__(ja, x, y):
super().__init__()

self.texture = arcade.make_soft_square_texture(
3, plava, vanjski_alfa=100)

sam.centar_x = x
self.centar_y = y

razredaBackgroundLayer(arkada. SpriteList):
def__u tome__(self, scroll_speed):
super().__init__()
self.scroll_speed = brzina_klizanja
sam.raindrops = arkada. SpriteList()

defAžuriraj(sebe):
za kapljica kiše u self.raindrops:
raindrop.center_y -= self.scroll_speed * 5

ako kišna kap.centar_y < -10:
kišna kap.ukloni_iz_popisa_spritea()

defcrtati(sebe):
super().draw()
self.raindrops.draw()

razredaMoja Igra(arkada. Prozor):
def__u tome__(ja, širina, visina):
super().__init__(širina, visina)
arcade.set_background_color (arcade.color. BIJELA)
self.background_layer = BackgroundLayer(0.2)
# ...

defpostaviti(sebe):
# ...
self.background_layer.raindrops.append(
Kišna kap (SCREEN_WIDTH // 2, SCREEN_HEIGHT + 10))

defAžuriraj(sam, delta_vrijeme):
self.player.update()
self.background_layer.update()

defizvlačenje(sebe):
arcade.start_render()
self.background_layer.draw()
self.platforms.draw()
self.player.draw()

Imran je pisac u MUO s 3 godine iskustva u pisanju tehničkih sadržaja. Također je radio s mnogim startupima kao full-stack programer. Strastveno voli pisati i pomagati drugima da uče o tehnologiji. U slobodno vrijeme voli istraživati ​​nove programske jezike.