This week I've corrected a few bugs
there were in staircase.py. One of them – for example – allowed
the player to jump while falling if he/she fell without jumping...
Anyway, the current version includes further changes (I even changed
the name of the project to “Platforms” and divided the program
into files instead of keeping a single file). The program is
organized in classes and since I read chapter 19 I've included a few
things related with imported images. Let's begin.
Screenshot of Platforms |
This game test is divided into several
classes. Perhaps, the most important class is “Collisionable”.
This class contains a Pygame “rect” object reference as an
attribute. This “rect” object is the actual responsible of
controlling collision between itself and other objects (including the
player). Many of the remaining classes are children of
“Collisionable” and they implement their own behaviour
(platforms, mobile platforms, buttons, etc).
While chapter 19 taught me to load
external images and place them into the game, it has only examples on putting a static picture and moving it around the screen. In
this project, I've used texture images like the following:
Background texture |
Platform's texture |
If you pay attention to this texture
images, you will see that the leftmost part fits with the rightmost
part of the picture. The same happens with the top and the bottom of
the picture. The only thing I have to do is to replicate the picture
over and over again throughout the entire surface I want to have that
texture. In order to fulfill that purpose, I created the Texture
class. When a Texture object is created, the constructor copies the
picture pixel by pixel into the Pygame “rect” object that
requires that texture. In my opinion, this algorithm is quite slow
and inefficient, but it allows me to store the calculated surface
into an attribute and therefore needing to make the calculation only once in the execution of the game.
The pictures were downloaded from
http://opengameart.org.
No comments:
Post a Comment