Skip to Content
Python GUI Programming with Tkinter
book

Python GUI Programming with Tkinter

by Alan D. Moore
May 2018
Beginner to intermediate content levelBeginner to intermediate
452 pages
11h 26m
English
Packt Publishing
Content preview from Python GUI Programming with Tkinter

Detecting and handling a win condition

To detect a win condition, we're going to periodically check whether a racer is overlapping with the finish line item. When one of them is, we'll declare it the winner and offer the option to play again.

Collision detection between items is slightly awkward with the Tkinter Canvas widget. We have to pass a set of bounding box coordinates to find_overlapping(), which returns a tuple of item identifiers that overlap with the bounding box.

Let's create an overlapping() method for our Racer class:

    def overlapping(self):
        bbox = self.canvas.bbox(self.id)
        overlappers = self.canvas.find_overlapping(*bbox)
        return [x for x in overlappers if x!=self.id]

This method retrieves the bounding box of the Racer item ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Python GUI Programming with Tkinter - Second Edition

Python GUI Programming with Tkinter - Second Edition

Alan D. Moore

Publisher Resources

ISBN: 9781788835886Supplemental Content