physics_joint_enable_motor(joint, motor)
Argument | Description |
---|---|
joint | The joint that you wish to enable or disable the motor on |
motor | Whether you wish to turn the motor on (true) or off (false) |
Returns: N/A
When you have a joint with a motor (prismatic or revolute), you may want to
be able to switch the motor on or off depending on variables and
conditions within the game. For this, you need to have stored the
index of the joint previously in a variable and then you can switch
the motor on or off by using this function and setting the "motor"
argument to true or false.
var t_fix = physics_fixture_create();
physics_fixture_set_circle_shape(t_fix,
sprite_get_width(sprite_index) / 2);
var o_id=instance_create(x+300, y, obj_Door);
physics_fixture_bind(t_fix, id);
physics_fixture_bind(t_fix, o_id);
perma_joint = physics_joint_revolute_create(id, o_id, x+25, y, -90,
90, 1, 10, 2, 0, 0);
physics_joint_enable(perma_joint, 1);
physics_fixture_delete(t_fix);
The above code creates and defines a new fixture and then creates an instance of "obj_Door", binding the created fixture to the two instances. They are then joined by a revolute joint with no motor and the angles limited to a +/- 90 degree swing, and we store the joint index in the variable "perma_joint". We then switch the motor on using this variable, before finally deleting the fixture from memory as it is no longer needed.