‹›
Pomocné skripty · Sockets

První dokovací spojení

Vytvoření prvního fyzikálně přitahovaného Fixed spojení krok za krokem.

Nejmenší funkční sestava obsahuje dvě různá tělesa, jeden male socket a jeden female socket se stejným typem. Jakmile se dostanou do search distance, male se přiblíží k female a po přesném ustálení vznikne connection.

Kompletní příklad#

GML
// Dynamic předmět, který se bude přitahovat.
var tool = jolt_box_create_dynamic(-1, 0, 1, 0.3, 0.3, 0.3, { mass: 2 });

// Static nebo Kinematic držák.
var holder = jolt_box_create_static(0, 0, 1, 0.4, 0.4, 0.4);

tool_socket = jolt_socket(tool, "male", "tool_mount", {
    position: { x: 0.3, y: 0, z: 0 },
    attraction: true,
    attraction_force: 150,
    attraction_torque: 30,
    connection_type: "fixed",
    collision: false
});

holder_socket = jolt_socket(holder, "female", "tool_mount", {
    position: { x: -0.4, y: 0, z: 0 }
});

Co znamenají jednotlivé části#

  • První argument jolt_socket je parent JoltBody. Socket automaticky sleduje jeho posun i rotaci.
  • Řetězce male a female určují polaritu. Automaticky se spojuje pouze male s female.
  • tool_mount je compatibility type. Rozdílné typy se nikdy nestanou kandidáty.
  • position je offset v local-space body originu, nikoli world souřadnice.
  • Recept connection_type, attraction, collision a break limity nastavujte na male socketu.

Update a stav#

GML
// Běžný physics update už Socket systém obslouží.
jolt_update();

if (tool_socket.is_connected()) {
    // Oba sockety ukazují na stejný JoltSocketConnection.
    var connection = tool_socket.connection;
}

// Programové rozpojení:
tool_socket.disconnect();

Když se spojení nevytvoří#

  • Ověřte, že physics world běží a oba body i sockety vracejí is_valid().
  • Zkontrolujte shodný compatibility type, opačnou polaritu a enabled stav.
  • Zapněte JOLT_DEBUG_SOCKETS a ověřte local offset i orientaci barevných os.
  • Zvětšete search_distance pouze pro hledání; position_tolerance neurčuje dosah attraction.
  • Male musí být Dynamic, má-li jej attraction pohybovat. Female může být Dynamic, Kinematic nebo Static.