import
arcade
class
MainGame(arcade.Window):
def
__init__(
self
):
super
().__init__(
600
,
600
, title
=
"Player Movement"
)
self
.vel_x
=
0
self
.scene
=
None
self
.player
=
None
self
.physics_engine
=
None
def
on_draw(
self
):
arcade.start_render()
self
.scene.draw()
def
setup(
self
):
self
.scene
=
arcade.Scene()
self
.scene.add_sprite_list(
"Player"
)
self
.scene.add_sprite_list(
"Platforms"
, use_spatial_hash
=
True
)
self
.player_sprite
=
arcade.Sprite(
"Player.png"
,
1
)
self
.player_sprite.center_x
=
64
self
.player_sprite.center_y
=
600
self
.scene.add_sprite(
"Player"
,
self
.player_sprite)
platform
=
arcade.Sprite(
"Platform.png"
,
1
)
platform.center_x
=
300
platform.center_y
=
32
self
.scene.add_sprite(
"Platforms"
, platform)
self
.physics_engine
=
arcade.PhysicsEnginePlatformer(
self
.player_sprite,
self
.scene.get_sprite_list(
"Platforms"
),
0.5
)
def
on_update(
self
, delta_time):
self
.player_sprite.center_x
+
=
self
.vel_x
*
delta_time
self
.physics_engine.update()
def
on_key_press(
self
, symbol, modifier):
if
symbol
=
=
arcade.key.LEFT:
self
.vel_x
=
-
300
elif
symbol
=
=
arcade.key.RIGHT:
self
.vel_x
=
300
def
on_key_release(
self
, symbol, modifier):
if
symbol
=
=
arcade.key.LEFT:
self
.vel_x
=
0
elif
symbol
=
=
arcade.key.RIGHT:
self
.vel_x
=
0
game
=
MainGame()
game.setup()
arcade.run()