VOOZH about

URL: https://www.geeksforgeeks.org/python/python-arcade-adding-moving-platforms/

⇱ Python Arcade - Adding Moving Platforms - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Python Arcade - Adding Moving Platforms

Last Updated : 23 Sep, 2021

In this article, we will discuss how to add moving platforms to our arcade games in Python.

Adding Moving Platform

We can easily add moving platforms in our arcade game by following the below steps:

  • Create 2 new variables for sprite and velocity of moving platform.
self.moving_vel = 3
self.moving_platform = None
  • Load the sprite and add the initial coordinates.
self.moving_platform = arcade.Sprite("Moving.png",1)
self.moving_platform.center_x = 500
self.moving_platform.center_y = 500
  • Update the y-coordinate of the platform.
self.moving_platform.center_y -= self.moving_vel
  • Change the direction of the platform if the platform crosses the boundary.
if self.moving_platform.center_y < 100 or self.moving_platform.center_y>600:
 self.moving_vel *= -1

Sprites Used:

👁 Image
👁 Image
👁 Image

For this, we are going to create a MainGame() class. Inside this class first, we are going to initialize some variables for player's velocity, platform velocity, camera, player sprite, physics engine, and our scene. After that, we will create 6 functions inside this class.

  • on_draw(): Inside this function, we will use our camera, and then we will draw our scene.
  • setup(): In this function, we will initialize our camera and scene object then we will load our player and platform's sprites. After that, we will call the  PhysicsEnginePlatformer() function.
  • on_update(): In this function, we will update the x coordinate of the player's sprite by adding the value of the velocity variable and we also update the y coordinate of our moving platform. After that, we will call our camera_move() function.
  • on_key_press(): In this function, we will change the value of the vel_x  variable according to the keyboard key that is pressed.
  • on_key_release(): In this function, we will change the value of the vel_x variable according to the keyboard key that is released.
  • camera_move(): In this function, we will change the position of the camera according to the current position of the player.

Below is the implementation:

Output:

👁 Image
Comment
Article Tags:
Article Tags: