Stav tělesa

Motion Type

Mesh, HeightField a Plane zůstávají pouze statické. Změnou typu pohybu nelze obejít omezení geometrie. Preferujte vytvoření tělesa s plánovaným typem; změna existujícího tělesa je validovaná native operace, ne pouhá změna GML pole.

APIChování
JOLT_MOTION_STATIC (0)Nehybná geometrie; nereaguje pohybem na síly.
JOLT_MOTION_KINEMATIC (1)Pohyb řízený aplikací, který pomocí rychlosti ovlivňuje Dynamic tělesa.
JOLT_MOTION_DYNAMIC (2)Pohyb řídí hmotnost, gravitace, kontakty, síly a impulsy.
body.set_motion_type(motion) / get_motion_type()Nastaví nebo přečte native typ pohybu. Setter může nepodporovaný přechod odmítnout.
GML
if (!body.set_motion_type(JOLT_MOTION_KINEMATIC)) {
    show_debug_message(jolt_get_error_message());
}

Nové související postupy#

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
JoltBody.get_motion_typeJoltBody.get_motion_type()JOLT_MOTION_STATIC/KINEMATIC/DYNAMIC; setter Boolean, getter enum nebo undefined. Native odmítá nepodporovanou změnu/geometrii; wrapper aktualizuje motion_type až po úspěchu.
JoltBody.set_motion_typeJoltBody.set_motion_type(motion_type)JOLT_MOTION_STATIC/KINEMATIC/DYNAMIC; setter Boolean, getter enum nebo undefined. Native odmítá nepodporovanou změnu/geometrii; wrapper aktualizuje motion_type až po úspěchu.