‹›
Shape Resources

Primitivní resources

Rozměry musí být konečné. Jde o managed konvenci celých rozměrů; nevkládejte do těchto konstruktorů přímo low-level poloviční rozměry.

APIChování
jolt_shape_box(width, depth, height, cache_key=undefined)Kladné celé rozměry.
jolt_shape_sphere(radius, cache_key=undefined)Kladný poloměr.
jolt_shape_capsule(height, radius, cache_key=undefined)Celková výška > 2 × poloměr; poloměr kladný.
jolt_shape_cylinder(height, radius, cache_key=undefined)Kladná celková výška a poloměr.
jolt_shape_tapered_capsule(height, top_radius, bottom_radius, cache_key=undefined)Oba poloměry kladné; celková výška > 2 × větší poloměr.
jolt_shape_tapered_cylinder(height, top_radius, bottom_radius, cache_key=undefined)Kladná výška, nezáporné poloměry, alespoň jeden kladný.
jolt_shape_plane(nx, ny, nz, half_extent=1000, cache_key=undefined)Nenulová normála; pouze statická nekonečná rovina/záporný poloprostor. half_extent ovlivňuje bounds, ne konečný kolizní okraj.
GML
var capsule_shape = jolt_shape_capsule(1.8, 0.4);
if (is_undefined(capsule_shape)) {
    show_debug_message(jolt_get_error_message());
} else {
    var body = capsule_shape.create_dynamic(0, 0, 3);
    capsule_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
jolt_shape_boxjolt_shape_box(width, depth, height, cache_key = undefined)Opakovatelný JoltShape/undefined v managed světě: plné kladné width/depth/height v m. Volitelný cache_key je identita, nikoliv hash geometrie; existující klíč může vrátit dřívější geometrii. Mesh/Heightfield/Plane pouze Static.
jolt_shape_capsulejolt_shape_capsule(height, radius, cache_key = undefined)Opakovatelný JoltShape/undefined v managed světě: celková výška>2*radius, radius>0 m. Volitelný cache_key je identita, nikoliv hash geometrie; existující klíč může vrátit dřívější geometrii. Mesh/Heightfield/Plane pouze Static.
jolt_shape_cylinderjolt_shape_cylinder(height, radius, cache_key = undefined)Opakovatelný JoltShape/undefined v managed světě: výška/radius>0 m. Volitelný cache_key je identita, nikoliv hash geometrie; existující klíč může vrátit dřívější geometrii. Mesh/Heightfield/Plane pouze Static.
jolt_shape_planejolt_shape_plane(normal_x, normal_y, normal_z, half_extent = 1000, cache_key = undefined)Opakovatelný JoltShape/undefined v managed světě: nenulová normála normalizovaná, half_extent>0 m default 1000. Volitelný cache_key je identita, nikoliv hash geometrie; existující klíč může vrátit dřívější geometrii. Mesh/Heightfield/Plane pouze Static.
jolt_shape_spherejolt_shape_sphere(radius, cache_key = undefined)Opakovatelný JoltShape/undefined v managed světě: kladný radius v m. Volitelný cache_key je identita, nikoliv hash geometrie; existující klíč může vrátit dřívější geometrii. Mesh/Heightfield/Plane pouze Static.
jolt_shape_tapered_capsulejolt_shape_tapered_capsule(height, top_radius, bottom_radius, cache_key = undefined)Opakovatelný JoltShape/undefined v managed světě: výška>2*největší radius, oba radius>0. Volitelný cache_key je identita, nikoliv hash geometrie; existující klíč může vrátit dřívější geometrii. Mesh/Heightfield/Plane pouze Static.
jolt_shape_tapered_cylinderjolt_shape_tapered_cylinder(height, top_radius, bottom_radius, cache_key = undefined)Opakovatelný JoltShape/undefined v managed světě: výška>0, radius>=0 a alespoň jeden>0. Volitelný cache_key je identita, nikoliv hash geometrie; existující klíč může vrátit dřívější geometrii. Mesh/Heightfield/Plane pouze Static.