Stav tělesa

Motion Quality a CCD

Diskrétní simulace vyhodnocuje pohyb po krocích a může minout tenkou překážku, kterou rychlé těleso mezi kroky překoná. LinearCast CCD provádí sweep podporované geometrie a omezuje toto tunelování. Je náročnější než Discrete a nepředstavuje plné rotační CCD.

APIChování
body.set_ccd(enabled) / get_ccd()Zjednodušené zapnutí a čtení LinearCast oproti Discrete.
body.set_motion_quality(quality) / get_motion_quality()Explicitní API kvality pohybu. Výchozí je Discrete.
GML
var projectile = jolt_sphere_create_dynamic(0, 0, 2, 0.1);
if (!is_undefined(projectile)) {
    if (!projectile.set_ccd(true)) {
        show_debug_message(jolt_get_error_message());
    }
}

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_ccdJoltBody.get_ccd()DISCRETE nebo LINEAR_CAST; CCD Boolean přepíná mezi nimi. Settery Boolean, gettery enum/Boolean nebo undefined. LINEAR_CAST pouze podporovaný Dynamic; není náhradou za správnou kolizní geometrii.
JoltBody.get_motion_qualityJoltBody.get_motion_quality()DISCRETE nebo LINEAR_CAST; CCD Boolean přepíná mezi nimi. Settery Boolean, gettery enum/Boolean nebo undefined. LINEAR_CAST pouze podporovaný Dynamic; není náhradou za správnou kolizní geometrii.
JoltBody.set_ccdJoltBody.set_ccd(enabled)DISCRETE nebo LINEAR_CAST; CCD Boolean přepíná mezi nimi. Settery Boolean, gettery enum/Boolean nebo undefined. LINEAR_CAST pouze podporovaný Dynamic; není náhradou za správnou kolizní geometrii.
JoltBody.set_motion_qualityJoltBody.set_motion_quality(quality)DISCRETE nebo LINEAR_CAST; CCD Boolean přepíná mezi nimi. Settery Boolean, gettery enum/Boolean nebo undefined. LINEAR_CAST pouze podporovaný Dynamic; není náhradou za správnou kolizní geometrii.