Changelog

1.3 - unreleased

  • New: Actors can be made transparent by assigning to actor.opacity (based on work by Rhys Puddephatt and charlesej)
  • New: screen.fill() now takes gcolor, creating a vertical-linear gradient
  • New: a REPL has been added, which allows exploring a game’s state while it is running.
  • New: Added a storage API, which preserves data across game runs (based on work by Ian Salmons and Gustavo Ferreira)

1.2 - 2018-02-24

  • New: Actors can be rotated by assigning to actor.angle
  • New: Actors now have angle_to() and distance_to() methods.
  • New: Actors are no longer subclasses of Rect, though they provide the same methods/properties. However they are now provided with floating point precision.
  • New: tone.play() function to allow playing musical notes.
  • New: pgzrun.go() to allow running Pygame Zero from an IDE (see Running Pygame Zero in IDLE and other IDEs).
  • New: show joypad icon by default
  • Examples: add Asteroids example game (thanks to Ian Salmons)
  • Examples: add Flappy Bird example game
  • Examples: add Tetra example game (thanks to David Bern)
  • Docs: Add a logo, fonts and colours to the documentation.
  • Docs: Documentation for the anchor point system for Actors
  • Docs: Add Migrating from Scratch documentation
  • Fix: on_mouse_move() did not correctly handle the buttons parameter.
  • Fix: Error message when resource not found incorrectly named last extension searched.
  • Fix: Drawing wrapped text would cause crashes.
  • Fix: animate() now replaces animations of the same property, rather than creating two animations which fight.
  • Updated ptext to a revision as of 2016-11-17.
  • Removed: removed undocumented British English centrex, centrey, centre attribute aliases on ZRect (because they are not Rect-compatible).

1.1 - 2015-08-03

  • Added a spell checker that will point out hook or parameter names that have been misspelled when the program starts.
  • New ZRect built-in class, API compatible with Rect, but which accepts coordinates with floating point precision.
  • Refactor of built-in keyboard object to fix attribute case consistency. This also allows querying key state by keys constants, eg. keyboard[keys.LEFT].
  • Provide much better information when sound files are in an unsupported format.
  • screen.blit() now accepts an image name string as well as a Surface object, for consistency with Actor.
  • Fixed a bug with non-focusable windows and other event bugs when running in a virtualenv on Mac OS X.
  • Actor can now be positioned by any of its border points (eg. topleft, midright) directly in the constructor.
  • Added additional example games in the examples/ directory.

1.0.2 - 2015-06-04

  • Fix: ensure compatibility with Python 3.2

1.0.1 - 2015-05-31

This is a bugfix release.

  • Fix: Actor is now positioned to the top left of the window if pos is unspecified, rather than appearing partially off-screen.

  • Fix: repeating clock events can now unschedule/reschedule themselves

    Previously a callback that tried to unschedule itself would have had no effect, because after the callback returns it was rescheduled by the clock.

    This applies also to schedule_unique.

  • Fix: runner now correctly displays tracebacks from user code

  • New: Eliminate redraws when nothing has changed

    Redraws will now happen only if:

    • The screen has not yet been drawn
    • You have defined an update() function
    • An input event has been fired
    • The clock has dispatched an event

1.0 - 2015-05-29

  • New: Added anchor parameter to Actor, offering control over where its pos attribute refers to. By default it now refers to the center.

  • New: Added Ctrl-Q/⌘-Q as a hard-coded keyboard shortcut to exit a game.

  • New: on_mouse_* and on_key_* receive IntEnum values as button and key parameters, respectively. This simplifies debugging and enables usage like:

    if button is button.LEFT:
    

1.0beta1 - 2015-05-19

Initial public (preview) release.