Stav tělesa
Propojení a životní cyklus
Reference a použití: Propojení a životní cyklus.
| API | Chování |
|---|---|
| body.bind_instance(instance, use_as_user_data=true) | Přiřadí živou GameMaker instanci; volitelně použije její ID jako user data. |
| body.sync() | Zkopíruje pozici do x/y/z vlastníka a quaternion do jolt_rotation_x/y/z/w. |
| body.unbind_instance() | Odpojí vazbu bez zničení tělesa nebo instance. |
| body.destroy() | Uvolní managed fyzikální těleso; životnost GameMaker instance řídí volající. |
// Create event of the visual instance, after physics has started.
body = jolt_box_create_dynamic(x, y, 2, 1, 1, 1);
if (!is_undefined(body)) body.bind_instance(id);
// After the central physics update, if an explicit sync is needed:
if (!is_undefined(body) && body.is_valid()) body.sync();
// Cleanup event:
if (!is_undefined(body)) body.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ík | Signatura | Kontrakt operace |
|---|---|---|
| JoltBody.bind_instance | JoltBody.bind_instance(instance, use_as_user_data = true) | Bind živé instance, use_as_user_data default true; Boolean. Unbind true, nesmaže user_data ani instanci. Vazba není převzetí životnosti. |
| JoltBody.destroy | JoltBody.destroy() | Boolean, opakovaně true. Odstraní native těleso, připojené senzory/helpers a vazby; zneplatní závislé constraints/vehicles/conveyors/scales. Navázanou GameMaker instanci neničí. |
| JoltBody.get_native_handle | JoltBody.get_native_handle() | Uložený body/world handle pokud valid, jinak 0. Nepřenášej přes destroy či restart světa. |
| JoltBody.is_valid | JoltBody.is_valid() | Boolean valid flag + handle>0 + managed svět spuštěn. Není to nové nativní ověření handle; operace navíc ověřují příslušnost ke světu. |
| JoltBody.sync | JoltBody.sync() | Boolean; zapíše x/y/z a jolt_rotation_x/y/z/w do navázané instance. Vyžaduje živou vazbu; není automatické renderování. |
| JoltBody.unbind_instance | JoltBody.unbind_instance() | Bind živé instance, use_as_user_data default true; Boolean. Unbind true, nesmaže user_data ani instanci. Vazba není převzetí životnosti. |