Do you have a plane to Change the name of API ?
@flyover , Hi , Do you have a plane to Change the name of API , then provide a JavaScript-friendly API ?
example: box2d.b2BodyDef --> Box2d.bodyDef world.CreateBody --> world.createBody b2BodyType.b2_dynamicBody --> bodyType.dynamicBody ...
the things https://github.com/shakiba/planck.js do :
b2prefix is dropped from class names, for exampleb2Worldis now available asplanck.World.- Method names are converted from UpperCamelCase to lowerCamelCase.
- Definition classes/objects (BodyDef, FixtureDef, etc.) are replaced by inline JavaScript objects (
{}). - Shapes are made immutable and are not cloned when used to create fixtures.
World#on(eventName, listenerFn)andWorld#off(eventName, listenerFn)are added to add and remove event listeners. Currently supported events are:'begin-contact''end-contact''pre-solve''post-solve''joint-removed''fixture-removed'- `'body-removed'
This lib is looking awesome and it's performance is very good.
👍 I would also like to see the naming conventions more along the lines of ECMAScript standards.
Why?
On my side, I'm in favor of using Box2D standards. To improve code portability.
I also don't like the Box2D API naming BUT to benefit Box2D manual and tuts on internet, changing API may not be a good idea. Instead I have some wrapper classes on my project to use Box2D easily. Btw thanks @flyover ! for preparing this ts version, so that I can find my way using autocompletions.
Yeah, I think I'm going to leave it as close to the original API as possible. Perhaps a wrapper that added some of these JS features would be nice, especially if the underlying physics engine could be swapped out.