Tělesa

Box

Vytvoří kvádr zarovnaný v lokálních osách body.

Je vhodný pro krabice, stěny, podlahy a jednoduché objekty. x, y a z představují world-space střed. Podporuje Dynamic, Static a Kinematic.

Syntaxe#

Syntax
jolt_box_create_dynamic(x, y, z, width, depth, height, options=undefined)
jolt_box_create_static(x, y, z, width, depth, height, options=undefined)
jolt_box_create_kinematic(x, y, z, width, depth, height, options=undefined)

Vytvoření pro instanci#

GML
jolt_box_create_dynamic_for_instance(instance, width, depth, height, options=undefined)

Argumenty#

ArgumentTypPopis
x, y, zRealWorld-space střed Boxu.
widthRealCelý rozměr podél X; konečný a > 0.
depthRealCelý rozměr podél Y; konečný a > 0.
heightRealCelý rozměr podél Z; konečný a > 0.
optionsStructVolitelný společný body options struct.

Vrací JoltBody nebo undefined. Podporuje běžné JoltBody vlastnosti, collision layers, sensor režim, kontakty a raycasty; omezení motion typu se uplatní na síly, mass a velocity. Neplatné pozice, rozměry, options nebo selhání native shape creation jsou odmítnuty. Pivot zůstává ve středu; rotaci lze zadat options nebo JoltBody metodami. Debug draw respektuje celý rozměr a transformaci.

Reusable JoltShape#

GML
var shape = jolt_shape_box(width, depth, height, cache_key=undefined);
var dynamic_body = shape.create_dynamic(x, y, z, options);
var static_body = shape.create_static(x, y, z, options);
var kinematic_body = shape.create_kinematic(x, y, z, options);

jolt_shape_box() vyžaduje kladné konečné rozměry. cache_key je ASCII do 255 znaků. Resource lze sdílet; shape.destroy() je idempotentní a již vytvořená bodies vlastní native reference nezávisle. jolt_shape_load(path, cache_key) podporuje validní Box .jcol.

Příklad#

GML
jolt_start();
var floor = jolt_box_create_static(0, 0, -0.5, 20, 20, 1, {friction:0.8});
var crate = jolt_box_create_dynamic(0, 0, 4, 1, 1, 1, {mass:2, restitution:0.1});

Podlaha má horní plochu v Z=0 a dynamická krabice nad ní během simulace spadne.

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_box_create_dynamic_for_instancejolt_box_create_dynamic_for_instance(instance, width, depth, height, options = undefined)Vytvoří Dynamic box pro existující instanci a naváže ji; vrací JoltBody/undefined. Použij explicitní sync pro zápis fyzikálního transformu do instance.