VOOZH about

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

⇱ Python Arcade - Adding Camera - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Python Arcade - Adding Camera

Last Updated : 23 Sep, 2021

In this article, we will learn How we can add cameras to arcade games in Python.

Adding Camera

You can create a camera in arcade using the Camera() function.

Syntax: arcade.Camera( width. height) 

Parameters:

  • width: Width of the camera
  • height: Height of the camera

So to use this camera we are going to create a new variable.

self.camera = None

Then in our setup() function, we will create our camera using the Camera() function.

self.camera= arcade.Camera(200,200)

After that, we will use the camera.use function in our on_draw() function to use the camera.

self.camera.use()

In the below example, we are going to create MainGame() class. Inside our MainGame() class first we will initialize some variables for velocity, camera, scene, player's sprite, and physics engine after that we will create 5 functions:

  • on_draw(): Inside this function, we will start the rendering using arcade.start_render() then we will draw our scene.
  • setup(): Inside this function, we will call the arcade.Scene() and arcade.Camera() functions and then we will load and store our sprites in a sprite list.
  • on_update(): Here we will update the x coordinate of our player sprite and our physics engine.
  • on_key_press(): Inside this function, we will check which keyboard button is pressed and we will change the value of the velocity variable according to that.
  • on_key_release(): Inside this function, we will check which keyboard button is released and we will change the value of the velocity variable according to that.

Sprites Used:

👁 Image
👁 Image

Below is the implementation:

Output:

👁 Image

But here you can see our camera is not moving with our player. So to move the Camera with our player we have to create a function.

Moving the Camera

Now we are going to create a new camera_move() function to move our camera with our player. Then we will call this function in our on_update() function.

camera_move():  Inside this function, we will calculate the x and y coordinates of the center of the camera according to our player's position. Then we will move our camera with the help of the move_to() function.

Below is the implementation:

Output:

👁 Image
Comment
Article Tags:
Article Tags: