Because you scale StandIdleScene by half:
And then you use
Label2.Caption := 'sprite image height: ' + floattostr(PlayerTransform.BoundingBox.SizeY);
If you want to get original size, then get reference to StandIdleScene , and use LocalBoundingBox.SizeY. Like just StandIdleScene.LocalBoundingBox.SizeY.
From what I understand, the rest of this is solved in a new thread Coordinates again .
