‹›
Úvod

První fyzikální scéna

Vytvoří podlahu a padající Box pomocí managed high-level API.

Nejmenší použitelná scéna potřebuje jeden controller object. Jeho Create event spustí fyziku a vytvoří bodies, Step event posouvá world a Cleanup event runtime zastaví.

1. Vytvořte controller object#

Do room přidejte jeden object, například obj_physics_controller. Zachovejte právě jednoho aktivního ownera managed worldu.

2. Create event#

GML
if (!jolt_start()) {
    var error = jolt_get_error();
    show_error(error.message, true);
}

ground = jolt_box_create_static(0, 0, -0.5, 20, 20, 1);
box = jolt_box_create_dynamic(0, 0, 5, 1, 1, 1, {
    mass: 1,
    friction: 0.4,
    restitution: 0.1
});

Ground je vystředěný na Z=-0.5 a má celkovou height 1, takže jeho horní plocha leží na Z=0. Dynamic Box začíná nad ním a padá působením default negative-Z gravity.

3. Step event#

GML
var steps = jolt_update();
if (steps < 0) {
    show_debug_message(jolt_get_error().message);
}

var transform = box.get_transform();
if (!is_undefined(transform)) {
    // Pro rendering použijte transform.position a transform.rotation.
}

4. Cleanup event#

GML
jolt_stop();

Volitelný debug drawing#

GML
// Create event po jolt_start()
jolt_debug_enable(true);

// Draw event
jolt_debug_draw();

Co se stane#

Další kroky#

Po zprovoznění příkladu můžete podle dalších sekcí přidat body-instance binding, collision layers, contact events, raycasts a pokročilejší shapes.