Solar2D 2025.3722 has been released

Summary


FIX:

  • #815 + #816 : Changed behavior on Linux, fixed bugs when building from source.
  • #817: Fixed bug and add normalize axis option with wheel joint.
  • #818 + #819: Improvements and maintenance in HTML5 build.
  • #828: NavBar Fixes Android 15.

New:

  • #814: Add x, y offset to circle physics body.
  • #821: Add web option in buildsettings.

Some notable changes


HTML5 build has been greatly improved, both in performance and behavior.

The settings are now separated from the window in buildsettings:

settings =
{
	web = 
        {
               --Like window settings
	}
}

Currently the Html5 build supports zoom Even and letterBox scaling mode well, with 2 modes: fullscreen and maximized (other modes will be converted to maximized).

@aclementerodrguez has a great built game with the new build now, it supports both landscape and portrait ortiation, so cool!

HTML5 Build Case


New optional to normalize axis for wheel joint

physics.newJoint( "wheel", bodyA, bodyB, anchor_x, anchor_y, axisX, axisY, [isNormalizeAxis])

Also motorSpeed ​​is also working (before it was always 0).

New Circle body for physics, we can creating a simple capsule body with a circle for the both ends and a rectangle for the body.

physics.addBody(object, "dynamic", 
        { radius = 32 },
        { box = { halfWidth = 24, halfHeight = 50, x = 2, y = -50 } },
        { circle = { radius = 52, x = 0, y = -140 } }
    );

More info:

7 Likes

I just missed the solution to this problem: Remove resizability and orientation restrictions in your game to support large screen devices

1 Like

I was looking for some place to add the similar window settings and realized we don’t have a similar page for “Creating HTML5 Apps” like macOS and win32. Is there a similar guide for HTML5 somewhere that I’m not aware of?

I think the unit of ‘motorSpeed’ for a ‘Wheel Joint’ should be radians per second, the same as for a ‘Revolute Joint’.

if ( lua_isnumber( L, 3 ) )
{
	Rtt_Real valueRadians = Rtt_RealDegreesToRadians( luaL_toreal( L, 3 ) );
	joint->SetMotorSpeed( Rtt_RealToFloat( valueRadians ) );
}