razredPlast(arkadne. SpriteList):
def__v__(self, scroll_speed):
super().__init__()
self.scroll_speed = scroll_speed

razredMyGame(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)
arcade.set_background_color (arcade.color. BELA)
self.player = Noben
self.platforms = Noben
self.layers = []

defnastaviti(sebe):
self.player = Player()
self.platforms = arkada. SpriteList()
siva = arkadna.barva. SIVA
rdeča = arkadna.barva. RDEČA
rjava = arkadna barva. RJAV
rumena = arkadna.barva. RUMENA

w = SCREEN_WIDTH // 2
h = VIŠINA_ZASLON // 2

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

sloji_podatki = [
(plast(0.2), ploščad (š, v, 800, 600, siva)),
(plast(0.5), ploščad (š, v - 200, 400, 20, rdeča)),
(plast(0.5), Platforma (š, v + 200, 400, 20, rdeča)),
(plast(1.0), ploščad (š, v - 300, 200, 20, rjav)),
(plast(1.0), Platforma (š, v + 300, 200, 20, rjav))
]

za sloj, platforma v sloji_podatki:
layer.append (platforma)
self.layers.append (plast)

instagram viewer
razredMyGame(arkadne. okno):
# ...

defnastaviti(sebe):

# ...

sloji_podatki = [
(plast(1.2), ploščad (š, v, 800, 600, siva)),
(plast(2.5), ploščad (š, v - 200, 400, 20, rdeča)),
(plast(3.0), Platforma (š, v + 200, 400, 20, rdeča)),
(plast(4.0), ploščad (š, v - 300, 200, 20, rjav)),
(plast(5.0), Platforma (š, v + 300, 200, 20, rjav))
]

# ...

razredDežna kaplja(arkadne. Sprite):
def__v__(jaz, x, y):
super().__init__()

self.texture = arcade.make_soft_square_texture(
3, modra, zunanja_alfa=100)

self.center_x = x
self.center_y = y

razredBackgroundLayer(arkadne. SpriteList):
def__v__(self, scroll_speed):
super().__init__()
self.scroll_speed = scroll_speed
self.raindrops = arkada. SpriteList()

defnadgradnja(sebe):
za dežna kaplja v self.raindrops:
raindrop.center_y -= self.scroll_speed * 5

če raindrop.center_y < -10:
raindrop.remove_from_sprite_lists()

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

razredMyGame(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)
arcade.set_background_color (arcade.color. BELA)
self.background_layer = BackgroundLayer(0.2)
# ...

defnastaviti(sebe):
# ...
self.background_layer.raindrops.append(
Dežna kaplja (SCREEN_WIDTH // 2, SCREEN_HEIGHT + 10))

defnadgradnja(sam, delta_time):
self.player.update()
self.background_layer.update()

defon_draw(sebe):
arcade.start_render()
self.background_layer.draw()
self.platforms.draw()
self.player.draw()

Imran je pisec pri MUO s 3 leti izkušenj s pisanjem tehničnih vsebin. Delal je tudi s številnimi startupi kot full-stack razvijalec. Navdušuje pisanje in pomaga drugim spoznavati tehnologijo. V prostem času rad raziskuje nove programske jezike.