luokkaaKerros(pelihalli. SpriteList):
def__sen sisällä__(itse, scroll_speed):
super().__init__()
self.scroll_speed = scroll_speed

luokkaaMyGame(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
arcade.set_background_color (arcade.color. VALKOINEN)
self.player = Ei mitään
self.platforms = Ei mitään
self.layers = []

defperustaa(itse):
self.player = Pelaaja()
self.platforms = pelihalli. SpriteList()
harmaa = arcade.color. HARMAA
punainen = arcade.color. PUNAINEN
ruskea = arcade.color. RUSKEA
keltainen = arcade.color. KELTAINEN

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

self.platforms.append (Alusta (w, h - 100, 200, 20, keltainen))
self.platforms.append (Alusta (w, k + 100, 200, 20, keltainen))

layers_data = [
(Kerros(0.2), alusta (l, k, 800, 600, harmaa)),
(Kerros(0.5), alusta (l, k - 200, 400, 20, punainen)),
(Kerros(0.5), Alusta (l, k + 200, 400, 20, punainen)),
(Kerros(1.0), alusta (l, k - 300, 200, 20, ruskea)),
(Kerros(1.0), Alusta (l, k + 300, 200, 20, ruskea))
]

instagram viewer

varten kerros, alusta sisään layers_data:
layer.append (alusta)
self.layers.append (taso)

luokkaaMyGame(pelihalli. Ikkuna):
# ...

defperustaa(itse):

# ...

layers_data = [
(Kerros(1.2), alusta (l, k, 800, 600, harmaa)),
(Kerros(2.5), alusta (l, k - 200, 400, 20, punainen)),
(Kerros(3.0), Alusta (l, k + 200, 400, 20, punainen)),
(Kerros(4.0), alusta (l, k - 300, 200, 20, ruskea)),
(Kerros(5.0), Alusta (l, k + 300, 200, 20, ruskea))
]

# ...

luokkaaSadepisara(pelihalli. Sprite):
def__sen sisällä__(itse, x, y):
super().__init__()

self.texture = arcade.make_soft_square_texture(
3, sininen, ulkoinen_alfa=100)

self.center_x = x
self.center_y = y

luokkaaBackgroundLayer(pelihalli. SpriteList):
def__sen sisällä__(itse, scroll_speed):
super().__init__()
self.scroll_speed = scroll_speed
self.raindrops = pelihalli. SpriteList()

defpäivittää(itse):
varten sadepisara sisään self.raindrops:
raindrop.center_y -= self.scroll_speed * 5

jos sadepisara.keskus_y < -10:
raindrop.remove_from_sprite_lists()

defpiirtää(itse):
super().draw()
self.raindrops.draw()

luokkaaMyGame(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
arcade.set_background_color (arcade.color. VALKOINEN)
self.background_layer = BackgroundLayer(0.2)
# ...

defperustaa(itse):
# ...
self.background_layer.raindrops.append(
Sadepisara (SCREEN_WIDTH // 2, SCREEN_HEIGHT + 10))

defpäivittää(itse, delta_aika):
self.player.update()
self.background_layer.update()

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

Imran on kirjailija MUO: ssa, jolla on 3 vuoden kokemus teknisen sisällön kirjoittamisesta. Hän on myös työskennellyt monien startup-yritysten kanssa täyden pinon kehittäjänä. Hän on intohimoinen kirjoittamiseen ja auttaa muita oppimaan teknologiasta. Vapaa-ajallaan hän nauttii uusien ohjelmointikielien tutkimisesta.