Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Kivy Blueprints
  • Toc
  • feedback
Kivy Blueprints

Kivy Blueprints

By : Vasilkov
3.7 (10)
close
Kivy Blueprints

Kivy Blueprints

3.7 (10)
By: Vasilkov

Overview of this book

This book is intended for programmers who are comfortable with the Python language and who want to build desktop and mobile applications with rich GUI in Python with minimal hassle. Knowledge of Kivy is not strictly required—every aspect of the framework is described when it's first used.
Table of Contents (12 chapters)
close
10
A. The Python Ecosystem
11
Index

Collision detection


The last thing that is absolutely vital for the gameplay is the collision detection, which ends the game when the bird collides with either the floor, the ceiling, or a pipe.

Checking whether we've met floor or ceiling is as simple as comparing bird.y to a ground level or screen height (taking into account the height of the bird itself in the second comparison). In KivyBirdApp, we have the following code

def test_game_over(self):
    if self.bird.y < 90 or \
            self.bird.y > self.root.height - 50:
        return True

    return False

It's a bit more complex when looking for a collision with pipes, but not substantially so. We can subdivide this next check in two: first, we test for a horizontal collision using Kivy's built-in collide_widget() method, and then check whether vertical coordinates are within limits imposed by the lower_len and upper_len attributes of a pipe we're flying into.

Hence, the revised version of the KivyBirdApp.test_game_over() method...

bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete