Summer 2019
The Summer Solstice 2019 release has finally come! π π
Note that because of incompatibilities, PyGame 1 and Python 3.6 & 3.7 are the only supported versions. Neither Python 3.8 nor PyGame 2 are supported in this release. (This will hopefully be fixed for our Fall Equinox 2019 release, but its largely out of our hands.)
New since 0.5.1
- Online docs! https://ppb.readthedocs.io/ (#195)
- Sprites can rotate (#214)
- An
Idle
event has been added, fired each iteration through the event loop (#221) - An animation feature has been added (#230) and an example (#235)
- A
title
argument has been added toppb.run()
(#258) ppb.make_engine()
has been added to simplify customization (#255)GameEngine.loop_once()
has been added to allow for external loops (#255)- The sprite sides API now implements full numerical methods (#272)
GameEngine()
now acceptssystems
andbasic_systems
arguments (you probably want the former) (#295)
Breaking Changes since 0.5.1
- The Y axis has been flipped so that +Y is up (#237, #275)
ppb.Vector
has changed significantly; see the ppb-vector changes (#204, #280)- The deprecated scene change API (
Scene.running
,Scene.next
) has been removed (#259) System.activate()
has been removed (#221)GameEngine.register()
now accepts callables instead of simple values (#228)ppb.abc
has been completely removed (#284)
Fixes since 0.5.1
ppb.utils.LoggingMixin
now works with subclasses (based on the file the calling code is in) (#202)StartScene
no longer requires an emptykwargs
when passed a scene class (#236)GameObjectCollection
(and its subclassScene
) work correctly with subclasses of children (#241)- Simplified the rendering event flow (#256)
Sprite.size
of less than or equal to 0 no longer causes error (#262)- Defining sprites in a REPL no longer causes problems (#270)
- Camera data is updated before
PreRender
fires (#274)