so what are you seeing with the above code?
for me it looks like they all rotate around the same speed due to your modifiers, i assume you want them to all rotate the same speed without the modifiers?
but yes it does appear 2D physics ignores mass for rotation, its shouldn't but there we go
edit; this is the only way i could see to get it to work as expected - basically made the shape the same for all sprites and then made the density of their real shape have 0 weight.
setPhysicsGravity(0, 0)
setPhysicsDebugOn()
createSprite(1, createImageColor(255, 128, 128, 255))
setSpriteSize(1, 5, 5)
setSpriteOffset(1, 2.5, 2.5)
createSprite(2, createImageColor(128, 255, 128, 255))
setSpriteSize(2, 10, 5)
setSpriteOffset(2, 5, 2.5)
createSprite(3, createImageColor(128, 128, 255, 255))
setSpriteSize(3, 5, 10)
setSpriteOffset(3, 2.5, 5)
setSpritePositionByOffset(1, 50, 50)
setSpritePositionByOffset(2, 30, 50)
setSpritePositionByOffset(3, 70, 50)
SetPhysicsWallTop(0)
for i = 1 to 3
SetSpriteShapeBox(i,-2.5,-2.5,2.5,2.5,0)
AddSpriteShapeBox(i,-GetSpriteWidth(i)/2,-GetSpriteHeight(i)/2,GetSpriteWidth(i)/2,GetSpriteHeight(i)/2,0)
setSpritePhysicsOn(i, 2)
SetSpritePhysicsDensity(i,0,2)
setSpritePhysicsMass(i, 1)
setSpritePhysicsAngularDamping(i, 0)
//SetSpriteVisible(i,0)
next
f as float
f = 0.05
m as float
m = 1
do
for i = 1 to 3
setSpritePhysicsTorque(i, f)
print(GetSpritePhysicsMass(i))
print(getSpritePhysicsAngularVelocity(i))
next
sync()
loop
life's one big game
spec= i5 4ghz, 16gb ram, Nvidia 1070ti gpu