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
Idleevent has been added, fired each iteration through the event loop (#221) - An animation feature has been added (#230) and an example (#235)
- A
titleargument 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 acceptssystemsandbasic_systemsarguments (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.Vectorhas 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.abchas been completely removed (#284)
Fixes since 0.5.1
ppb.utils.LoggingMixinnow works with subclasses (based on the file the calling code is in) (#202)StartSceneno longer requires an emptykwargswhen passed a scene class (#236)GameObjectCollection(and its subclassScene) work correctly with subclasses of children (#241)- Simplified the rendering event flow (#256)
Sprite.sizeof 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
PreRenderfires (#274)