Background¶
Now that we have our image bank the next step is to actually get something showing up on the screen. The first thing we will do is fill the background with the first (or zeroith, if you are a computer scientist) image in our image bank. We will take the image and just place it over and over again, tiling it all over the screen. Since the image is just a plain white square, this will just make the entire background white for us.
Luckaly CircuitPython has some built in libraries that will make this much easier for us. We will be using 2, ugame
and stage
. We will import these 2 libraries at the top of our code and then we will write the following code to tile the background with the zeroith image:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #!/usr/bin/env python3
# Created by: Mr. Coxall
# Created on: Sep 2019
# This file is the "Space Aliens" game
# for CircuitPython
import ugame
import stage
def game_scene():
# this function is the game scene
# an image bank for CircuitPython
image_bank_1 = stage.Bank.from_bmp16("./space_aliens.bmp")
# sets the background to image 0 in the bank
background = stage.Grid(image_bank_1, 160, 120)
# create a stage for the background to show up on
# and set the frame rate to 60fps
game = stage.Stage(ugame.display, 60)
# set the layers, items show up in order in this list
game.layers = [background]
# render the background and inital location of sprite list
# most likely you will only render background once per scene
game.render_block()
if __name__ == "__main__":
game_scene()
|
Note
Full code and assets that can be copied onto PyBadge for this step can be found here.