деф__в этом__(я, скорость прокрутки):
супер().__инит__()
self.scroll_speed = скорость прокрутки
сортМоя игра(аркада. Окно):
деф__в этом__(собственность, ширина, высота):
super().__init__(ширина, высота)
arcade.set_background_color (arcade.color. БЕЛЫЙ)
селф.игрок = Никто
самостоятельные платформы = Никто
self.layers = []
дефнастраивать(себя):
self.player = Игрок()
самостоятельные платформы = аркада. СпрайтСписок()
серый = аркада.цвет. СЕРЫЙ
красный = аркада.цвет. КРАСНЫЙ
коричневый = аркада.цвет. КОРИЧНЕВЫЙ
желтый = аркада.цвет. ЖЕЛТЫЙ
w = ШИРИНА_ЭКРАНА // 2
h = ВЫСОТА_ЭКРАНА // 2
self.platforms.append (Платформа (ш, ч - 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 (слой)
# ...
дефнастраивать(себя):
# ...
слои_данные = [
(Слой(1.2), Платформа (ш, в, 800, 600, серый)),
(Слой(2.5), Платформа (ш, в - 200, 400, 20, красный)),
(Слой(3.0), Платформа (ш, в + 200, 400, 20, красный)),
(Слой(4.0), Платформа (ш, в - 300, 200, 20, коричневый)),
(Слой(5.0), Платформа (ш, в + 300, 200, 20, коричневый))
]
# ...
деф__в этом__(я, х, у):
супер().__инит__()
self.texture = arcade.make_soft_square_texture(
3, синий, external_alpha=100)
self.center_x = х
self.center_y = у
сортфоновый слой(аркада. список спрайтов):
деф__в этом__(я, скорость прокрутки):
супер().__инит__()
self.scroll_speed = скорость прокрутки
self.raindrops = аркада. СпрайтСписок()
дефобновлять(себя):
для капля дождя в Селф.капли дождя:
raindrop.center_y -= self.scroll_speed * 5
если капля дождя.center_y < -10:
капля дождя.remove_from_sprite_lists()
дефрисовать(себя):
супер (). Рисовать ()
self.raindrops.draw()
сортМоя игра(аркада. Окно):
деф__в этом__(собственность, ширина, высота):
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(себя):
аркада.start_render()
self.background_layer.draw()
self.platforms.draw()
self.player.draw()
Имран — писатель в MUO с 3-летним опытом написания технического контента. Он также работал со многими стартапами в качестве full-stack разработчика. Он страстно любит писать и помогать другим узнавать о технологиях. В свободное время он любит изучать новые языки программирования.