>
>    - Handling of transparent backgrounds on images. Pygame requires extra
>    code for this
>    - Easily scaling graphics
>    - Easily rotating graphics and drawing primitives
>    - Not having the graphics coordinates reversed
>    - Easy 'scrolling' of games by showing only part of a larger canvas to
>    draw on
>    - Pygame naming was a bit inconsistent
>
>
>
Thanks Paul. That's some good feedback for what we can improve.

I guess a sprite with scaling, rotation, and easier resource loading could
be used/added to help with a few of those. Then if things were in a group
like LayeredDirty it could handle scrolling. (as a bonus it would work
faster on lower powered machines, since that optimizes layers and dirty
updates). I'm pretty sure an API could be made which made these things
quite nice to use. Maybe a sprite class like this would be an option for
pygame zero as well.

s = Sprite('sheep.png').rotate(30).scale(2)

Internally it could load from data/sheep.png, or ./sheep.png and
automatically handle transparency convert. rotate, and scale what they say.
Internally, they'd call the correct pygame transform functions at draw time.

I haven't looked to closely, but I noticed there have been newer SDL_gfx
releases. Including a release for SDL2. Not sure how a rotated/scaled draw
api would look like. But I guess transforming the inputs could work. Again
a sprite class which was just a line, rect, circle, etc, but it would
handle the transforms internally (using pygame.math vectors internally
perhaps). Or the group could be transformed as well.

l = Line(1,2, 3,4).rotate(30).scale(2)

Just some off the cuff ideas. But I guess a friendlier sprite API could
work to address everything except the reversed coordinates, and naming.


cheers,

Reply via email to