def__i det__(self, scroll_speed):
super().__init__()
self.scroll_speed = scroll_speed
klassMitt spel(arkad. Fönster):
def__i det__(själv, bredd, höjd):
super().__init__(bredd, höjd)
arcade.set_background_color (arcade.color. VIT)
self.player = Ingen
self.platforms = Ingen
self.layers = []
defuppstart(själv):
self.player = Player()
self.platforms = arkad. SpriteList()
grå = arkad.färg. GRÅ
röd = arkad.färg. RÖD
brun = arkad.färg. BRUN
gul = arkad.färg. GUL
w = SCREEN_WIDTH // 2
h = SCREEN_HEIGHT // 2
self.platforms.append (Plattform (w, h - 100, 200, 20, gul))
self.platforms.append (Plattform (w, h + 100, 200, 20, gul))
lager_data = [
(Lager(0.2), Plattform (w, h, 800, 600, grå)),
(Lager(0.5), Plattform (w, h - 200, 400, 20, röd)),
(Lager(0.5), Plattform (w, h+ 200, 400, 20, röd)),
(Lager(1.0), Plattform (w, h - 300, 200, 20, brun)),
(Lager(1.0), Plattform (w, h+ 300, 200, 20, brun))
]
för lager, plattform i lager_data:
layer.append (plattform)
self.layers.append (lager)
# ...
defuppstart(själv):
# ...
lager_data = [
(Lager(1.2), Plattform (w, h, 800, 600, grå)),
(Lager(2.5), Plattform (w, h - 200, 400, 20, röd)),
(Lager(3.0), Plattform (w, h+ 200, 400, 20, röd)),
(Lager(4.0), Plattform (w, h - 300, 200, 20, brun)),
(Lager(5.0), Plattform (w, h+ 300, 200, 20, brun))
]
# ...
def__i det__(själv, x, y):
super().__init__()
self.texture = arcade.make_soft_square_texture(
3, blå, yttre_alfa=100)
self.center_x = x
self.center_y = y
klassBakgrundslager(arkad. SpriteList):
def__i det__(self, scroll_speed):
super().__init__()
self.scroll_speed = scroll_speed
self.raindrops = arkad. SpriteList()
defuppdatering(själv):
för regndroppe i self.raindrops:
raindrop.center_y -= self.scroll_speed * 5
om raindrop.center_y < -10:
raindrop.remove_from_sprite_lists()
defdra(själv):
super().draw()
self.raindrops.draw()
klassMitt spel(arkad. Fönster):
def__i det__(själv, bredd, höjd):
super().__init__(bredd, höjd)
arcade.set_background_color (arcade.color. VIT)
self.background_layer = BackgroundLayer(0.2)
# ...
defuppstart(själv):
# ...
self.background_layer.raindrops.append(
Regndroppe (SCREEN_WIDTH // 2, SCREEN_HEIGHT + 10))
defuppdatering(själv, delta_tid):
self.player.update()
self.background_layer.update()
defon_draw(själv):
arcade.start_render()
self.background_layer.draw()
self.platforms.draw()
self.player.draw()
Imran är skribent på MUO med 3 års erfarenhet av att skriva tekniskt innehåll. Han har också arbetat med många startups som full-stack-utvecklare. Han brinner för att skriva och hjälpa andra att lära sig om teknik. På fritiden tycker han om att utforska nya programmeringsspråk.