Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
crafty-matter
Advanced tools
Crafty Wrapper for Matter.js physics library
Install the required packages:
npm install craftyjs matter-js crafty-matter
temporary fix : Do to working with the edge build version of matter I had to make a couple fixes. So the
recommended matter lib version is on the libs
folder.
Load the script on your HTML file:
<script type="text/javascript" src="../path/to/craftyjs"></script>
<script type="text/javascript" src="../path/to/matter-js"></script>
<script type="text/javascript" src="../path/to/crafty-matter"></script>
And you're ready to go!
Launch Crafty.Matter.Init
passing an options object [optional].
Crafty.Matter.init({
debug : true,
gravity : {
x : 0,
y : 0.098
}
});
Options suported:
debug: will create a debug body for each entity containing the Matter
component. It will
also highlight the physic world with a light green color.
gravity: by default { x: 0, y: 0 }
size: matter world size. by default { x: Crafty.viewport.width, y: Crafty.viewport.height }
Crafty.e( '2D, DOM, Matter' )
.attr({
x : Crafty.viewport.width * 0.45,
y : Crafty.viewport.height * 0.1,
w : Crafty.viewport.width * 0.1,
h : Crafty.viewport.width * 0.1,
rotation : 15,
matter : {
isStatic : true
}
});
It will create a Matter rectangle body with the dimensions in the attr object. The matter sub-object allows you to set matter specific config to your entity body.
Objects rotation origin will automatically to center, to fit Matter-js. Changing the origin will give unexpected results.
Crafty.sprite(100, 100, 'path/to/image.extension', { circleSprite : [0, 0] } } );
Crafty.e('Actor, Matter, circleSprite')
.attr({
x : Crafty.viewport.width * 0.8625,
y : Crafty.viewport.height * 0.1,
w : 100,
h : 100,
matter : {
shape : 'circle',
radius : 50
}
});
If radius
property is no specified. It will use the w
property divided by 2.
The matter body reference for an entity with the Matter
component will be the property _body
. Use it to apply matter changes directly.
var entity = Crafty.e( '2D, DOM, Matter' )
.attr({
x : 300,
y : 200,
w : 100,
h : 100,
});
Matter.Body.setAngle( entity._body, Crafty.math.degToRad( 90 ) );
Also the Crafty.Matter
contains a reference to engine
and world
matter components.
Matter.World.add(
Crafty.Matter.world,
Matter.Constraint.create({
pointA: { x: 300, y: 100 },
bodyB: entity._body
})
);
FAQs
CraftyJS wrapper for Matter.js, developed at Hooptap
We found that crafty-matter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.