τάξηΣτρώμα(στοά. SpriteList):
def__μέσα σε αυτό__(self, scroll_speed):
super().__init__()
self.scroll_speed = scroll_speed

τάξηMyGame(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)
arcade.set_background_color (arcade.color. ΑΣΠΡΟ)
αυτο.παίκτης = Κανένας
αυτο.πλατφόρμες = Κανένας
self.layers = []

defεγκατάσταση(εαυτός):
self.player = Παίκτης()
αυτο.πλατφόρμες = στοά. SpriteList()
γκρι = στοά.χρώμα. ΓΚΡΙ
κόκκινο = στοά.χρώμα. ΤΟ ΚΟΚΚΙΝΟ
καφέ = στοά.χρώμα. ΚΑΦΕ
κίτρινο = στοά.χρώμα. ΚΙΤΡΙΝΟΣ

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

self.platforms.append (Πλατφόρμα (w, h - 100, 200, 20, κίτρινο))
self.platforms.append (Πλατφόρμα (w, h + 100, 200, 20, κίτρινο))

layers_data = [
(Στρώμα(0.2), Πλατφόρμα (w, h, 800, 600, γκρι)),
(Στρώμα(0.5), πλατφόρμα (w, h - 200, 400, 20, το κόκκινο)),
(Στρώμα(0.5), Πλατφόρμα (w, h + 200, 400, 20, το κόκκινο)),
(Στρώμα(1.0), πλατφόρμα (w, h - 300, 200, 20, καφέ)),
(Στρώμα(1.0), Πλατφόρμα (w, h + 300, 200, 20, καφέ))
]

Για στρώμα, πλατφόρμα σε layers_data:
layer.append (πλατφόρμα)
self.layers.append (layer)

instagram viewer
τάξηMyGame(στοά. Παράθυρο):
# ...

defεγκατάσταση(εαυτός):

# ...

layers_data = [
(Στρώμα(1.2), Πλατφόρμα (w, h, 800, 600, γκρι)),
(Στρώμα(2.5), πλατφόρμα (w, h - 200, 400, 20, το κόκκινο)),
(Στρώμα(3.0), Πλατφόρμα (w, h + 200, 400, 20, το κόκκινο)),
(Στρώμα(4.0), πλατφόρμα (w, h - 300, 200, 20, καφέ)),
(Στρώμα(5.0), Πλατφόρμα (w, h + 300, 200, 20, καφέ))
]

# ...

τάξηΣτάλα(στοά. Ξωτικό):
def__μέσα σε αυτό__(εαυτός, x, y):
super().__init__()

self.texture = arcade.make_soft_square_texture(
3, μπλε, outer_alpha=100)

αυτο.κέντρο_x = x
self.center_y = y

τάξηBackgroundLayer(στοά. SpriteList):
def__μέσα σε αυτό__(self, scroll_speed):
super().__init__()
self.scroll_speed = scroll_speed
αυτο.σταγόνες βροχής = στοά. SpriteList()

defεκσυγχρονίζω(εαυτός):
Για στάλα σε self.σταγόνες βροχής:
raindrop.center_y -= self.scroll_speed * 5

αν σταγόνα βροχής.κέντρο_υ < -10:
raindrop.remove_from_sprite_lists()

defσχεδιάζω(εαυτός):
super().draw()
self.raindrops.draw()

τάξηMyGame(στοά. Παράθυρο):
def__μέσα σε αυτό__(εαυτός, πλάτος, ύψος):
super().__init__(πλάτος, ύψος)
arcade.set_background_color (arcade.color. ΑΣΠΡΟ)
self.background_layer = BackgroundLayer(0.2)
# ...

defεγκατάσταση(εαυτός):
# ...
self.background_layer.raindrops.append(
Σταγόνα βροχής (SCREEN_WIDTH // 2, SCREEN_HEIGHT + 10))

defεκσυγχρονίζω(self, delta_time):
self.player.update()
self.background_layer.update()

defon_draw(εαυτός):
arcade.start_render()
self.background_layer.draw()
self.platforms.draw()
self.player.draw()

Ο Imran είναι συγγραφέας στο MUO με 3 χρόνια εμπειρία στη συγγραφή τεχνικού περιεχομένου. Έχει επίσης συνεργαστεί με πολλές startups ως προγραμματιστής full-stack. Είναι παθιασμένος με το γράψιμο και να βοηθά άλλους να μάθουν για την τεχνολογία. Στον ελεύθερο χρόνο του, του αρέσει να εξερευνά νέες γλώσσες προγραμματισμού.