- Fixed an issue causing a crash when closing the window
- Added
Window.closed
(bool) attribute indicating if the window is closed - Fixed an issue where
on_draw
could be dispatched after the window was closed - Added
PymunkPhysicsEngine.update_sprite
for manually updating a sprite's shape
to synchronize sprite hit boxes with the physics engine - Fixed an issue causing
on_mouse_leave
to be called from disabledSection
s - Various documentation fixes and improvements
- Scene
Scene.add_sprite
now returns the added spriteScene.add_sprite_list
now returns the added sprite listScene.add_sprite_before
now returns the added sprite listScene.move_sprite_list_before
now returns the moved sprite listScene.remove_sprite_list_by_index
now returns the removed sprite listScene.remove_sprite_list_by_name
now returns the removed sprite list
- GUI
- Fix
UILabel
with enabled multiline sometimes cut off text - Improved
UIWidget
usability for resizing and positioning:- Added property setters for
width
,height
, andsize
that ensure positive values - Added property setters for
center_x
andcenter_y
- Added property setters for
left
,right
,top
, andbottom
- Users can now set widget position and size more intuitively without needing to access the
rect
property
- Added property setters for
- Fix
- Rendering:
- The
arcade.gl
package was restructured to be more modular in preparation for
other backends such as WebGL and WebGPU - Rewrote many shader programs to not use geometry shaders, which are not supported in WebGL
and some other rendering backends - Fixed a few instances og exceptions not being raised properly in edge cases
- BREAKING CHANGE:
SpriteList
now has multiple rendering systems supporting both WebGL and Desktop GL.
If you have customized spritelist rendering you now need to modify theSpriteListData
instance
on the spritelist accessed throughSpriteList.data
. This instance holds all the GPU-related
resources for the spritelist such as buffers, textures, geometry and shader program.
- The