‹›
Shape Resources

Vytváření těles z tvarů

Options používají stejná managed nastavení jako běžné konstruktory těles: rotaci, rychlost, hmotnost/materiál, vrstvu, sensor a podporovaný center_of_mass_offset. Metadata tvaru jsou sdílená; transformace a stav jsou pro každé těleso samostatné.

APIChování
shape.create_dynamic(x, y, z, options=undefined)Vytvoří Dynamic JoltBody; při selhání vrátí undefined.
shape.create_static(x, y, z, options=undefined)Vytvoří Static těleso, včetně Mesh, HeightField a Plane.
shape.create_kinematic(x, y, z, options=undefined)Vytvoří řízené Kinematic těleso; static-only tvary odmítne.
GML
var shape = jolt_shape_sphere(0.5);
if (!is_undefined(shape)) {
    var ball = shape.create_dynamic(0, 0, 5, {mass: 2, friction: 0.6});
    if (is_undefined(ball)) show_debug_message(jolt_get_error_message());
    shape.destroy();
}

Ověřené kontrakty operací#

Následující kontrakty rozlišují jednotky, návratové hodnoty, chyby a životnost podle aktuální implementace. Nevynechávej kontrolu výsledku: false, 0 a undefined mohou mít u různých metod odlišný význam.

Symbol / vlastníkSignaturaKontrakt operace
JoltShape.create_dynamicJoltShape.create_dynamic(x = 0, y = 0, z = 0, options = undefined)Vytvoří nové JoltBody/undefined, XYZ default 0, standardní Body options. Mesh/Heightfield/Plane pouze Static; resource zůstává použitelný. _create je implementační delegát s explicitním motion, pro aplikaci používej create_* varianty.
JoltShape.create_kinematicJoltShape.create_kinematic(x = 0, y = 0, z = 0, options = undefined)Vytvoří nové JoltBody/undefined, XYZ default 0, standardní Body options. Mesh/Heightfield/Plane pouze Static; resource zůstává použitelný. _create je implementační delegát s explicitním motion, pro aplikaci používej create_* varianty.
JoltShape.create_staticJoltShape.create_static(x = 0, y = 0, z = 0, options = undefined)Vytvoří nové JoltBody/undefined, XYZ default 0, standardní Body options. Mesh/Heightfield/Plane pouze Static; resource zůstává použitelný. _create je implementační delegát s explicitním motion, pro aplikaci používej create_* varianty.