To create graphics for our games we will use the Pygame Zero library. You will find the documentation on the website useful!
The smallest square that can be displayed on a monitor is called a pixel. This diagram shows a close-up view of a window that is 40 pixels wide and 40 pixels high. At normal size you will not see the grid lines.
We can refer to any pixel by giving two co-ordinates, (x,y) Make sure you understand co-ordinates before moving on because everything we do in Pygame Zero will use it. (In maths this called a ‘Cartesian coordinate system’).
Lines and circles
If are using the Mu editor, Pygame Zero is built-in, but you must remember to click ‘Mode’ and select ‘Pygame Zero’ before running your program!
If you are using a different editor, instructions are online.
WIDTH = 500 # What are these units? What if we change them? HEIGHT = 500 # What if we delete this line? def draw(): screen.clear() screen.draw.circle((250, 250), 50, "white") screen.draw.filled_circle((250, 100), 50, "red") screen.draw.line((150, 20), (150, 450), "purple") screen.draw.line((150, 20), (350, 20), "purple")
Program 4.1 Lines and circles
Finish drawing this picture
Draw your own picture.
To make things move we need to add the special
update() function. We
don’t need to write our own loop because Pygame Zero calls this
function for us in its own loop, over and over, many times per second.
WIDTH = 500 HEIGHT = 500 box = Rect((20, 20), (50, 50)) def draw(): screen.clear() screen.draw.filled_rect(box, "red") def update(): box.x = box.x + 2 if box.x > WIDTH: box.x = 0
Program 4.2 Moving rectangles
Make the box move faster.
Make the box move in different directions.
Make two boxes with different colors.
Actor sprites are very similar to boxes! Click
Images to see the
folder of image files available.
alien.png should already be there,
but for other images you must add the files yourself.
You could use Microsoft Paint which comes with Windows but I recommend you download and install Krita.
WIDTH = 500 HEIGHT = 500 alien = Actor('alien') alien.x = 0 alien.y = 50 def draw(): screen.clear() alien.draw() def update(): alien.x += 2 if alien.x > WIDTH: alien.x = 0
Program 4.3 Actor sprites
Draw or download your own image to use instead of alien.
We are going to add a background image to Program 4.3
Images to see the folder of image files available.
You must create or download a picture to use a background. Save it
background.png in the directory
mu_code/images. It should be the
same size as the window, 500×500 pixels and it must be in
WIDTH = 500 HEIGHT = 500 alien = Actor('alien') alien.x = 0 alien.y = 50 background = Actor('background') def draw(): screen.clear() background.draw() alien.draw() def update(): alien.x += 2 if alien.x > WIDTH: alien.x = 0
Program 4.4 Background
Create a picture to use a background. Save it as
background.png. Run the program.
The alien moves when you press the cursor keys.
alien = Actor('alien') alien.pos = (0, 50) def draw(): screen.clear() alien.draw() def update(): if keyboard.right: alien.x = alien.x + 2 elif keyboard.left: alien.x = alien.x - 2
Program 4.5 Keyboard input
Make the alien move up and down as well as left and right.
Use the more concise += operator to change the alien.x value (see Program 2.18).
Use the or operator to allow WASD keys to move the alien in addition to the cursor keys (see Program 2.8).