класСлой(аркадна. SpriteList):
деф__в него__(self, scroll_speed):
супер().__init__()
self.scroll_speed = скорост на превъртане

класMyGame(аркадна. прозорец):
деф__в него__(аз, ширина, височина):
super().__init__(ширина, височина)
arcade.set_background_color (arcade.color. БЯЛО)
self.player = Нито един
self.platforms = Нито един
self.layers = []

дефнастройвам(себе си):
self.player = Player()
self.platforms = аркада. SpriteList()
сиво = arcade.color. СИВО
червено = arcade.color. ЧЕРВЕН
кафяво = аркаден цвят. КАФЯВО
жълто = arcade.color. ЖЪЛТ

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

self.platforms.append (Платформа (w, h - 100, 200, 20, жълто))
self.platforms.append (Платформа (w, h + 100, 200, 20, жълто))

слоеве_данни = [
(Слой(0.2), платформа (ш, в, 800, 600, сиво)),
(Слой(0.5), платформа (ш, в - 200, 400, 20, червен)),
(Слой(0.5), Платформа (ш, в + 200, 400, 20, червен)),
(Слой(1.0), платформа (ш, в - 300, 200, 20, кафяв)),
(Слой(1.0), Платформа (ш, в + 300, 200, 20, кафяв))
]

за слой, платформа в слоеве_данни:
layer.append (платформа)
self.layers.append (слой)

instagram viewer
класMyGame(аркадна. прозорец):
# ...

дефнастройвам(себе си):

# ...

слоеве_данни = [
(Слой(1.2), платформа (ш, в, 800, 600, сиво)),
(Слой(2.5), платформа (ш, в - 200, 400, 20, червен)),
(Слой(3.0), Платформа (ш, в + 200, 400, 20, червен)),
(Слой(4.0), платформа (ш, в - 300, 200, 20, кафяв)),
(Слой(5.0), Платформа (ш, в + 300, 200, 20, кафяв))
]

# ...

класДъждовна капка(аркадна. спрайт):
деф__в него__(себе си, x, y):
супер().__init__()

self.texture = arcade.make_soft_square_texture(
3, синьо, външна_алфа=100)

self.center_x = x
self.center_y = y

класBackgroundLayer(аркадна. SpriteList):
деф__в него__(self, scroll_speed):
супер().__init__()
self.scroll_speed = скорост на превъртане
self.raindrops = аркада. SpriteList()

дефактуализация(себе си):
за дъждовна капка в self.raindrops:
raindrop.center_y -= self.scroll_speed * 5

ако дъждовна капка.center_y < -10:
raindrop.remove_from_sprite_lists()

дефрисувам(себе си):
супер().нарисувай()
self.raindrops.draw()

класMyGame(аркадна. прозорец):
деф__в него__(аз, ширина, височина):
super().__init__(ширина, височина)
arcade.set_background_color (arcade.color. БЯЛО)
self.background_layer = BackgroundLayer(0.2)
# ...

дефнастройвам(себе си):
# ...
self.background_layer.raindrops.append(
Дъждовна капка (SCREEN_WIDTH // 2, SCREEN_HEIGHT + 10))

дефактуализация(самостоятелно, делта_време):
self.player.update()
self.background_layer.update()

дефon_draw(себе си):
arcade.start_render()
self.background_layer.draw()
self.platforms.draw()
self.player.draw()

Имран е писател в MUO с 3 години опит в писането на техническо съдържание. Той също така е работил с много стартиращи компании като full-stack разработчик. Той е страстен да пише и да помага на другите да научат за технологиите. В свободното си време той обича да изследва нови езици за програмиране.