Paths

Vytváření cest

Vytvoří spravovaný Hermite path resource pro sampling nebo fyzikální constrainty.

Volání jolt_path() bez argumentů vytvoří prázdný JoltPath ve spravovaném výchozím worldu. Přidejte control points, nastavte uzavření a před samplingem nebo připojením tělesa zavolejte build_smooth().

Syntaxe#

Syntax
path = jolt_path();

Základní cesta#

GML
jolt_start();

var track = jolt_path();
track.add_point(-12, 0, 2);
track.add_point(0, 4, 6);
track.add_point(12, 0, 2);

if (!track.build_smooth()) {
    show_error(jolt_get_error().message, true);
}

Životní cyklus buildu#

  • Nová cesta je platná, ale ještě není built.
  • Přidání bodu nebo změna loop mode zahodí předchozí nativní build.
  • build_smooth() vytvoří nativní Hermite resource a cached sampling data.
  • Sampling i constraint vyžadují hotovou, nezměněnou cestu z aktivního výchozího worldu.
  • jolt_stop() zneplatní všechny spravované cesty.

Stav a životnost#

GML
track.is_valid()
track.get_point_count()
track.get_length()
track.get_bounds()
track.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_pathjolt_path(body_a = undefined, body_b = undefined, path = undefined, options = undefined)Bez argumentů nový JoltPath builder. Se dvěma body a buildnutým path vytvoří Path JoltConstraint. Výsledek/undefined; local path vůči body_a. Rotation_mode default FREE, collision/enabledtrue, optional motor_spring_frequency/damping1.
jolt_path_worldjolt_path_world(body, path, options = undefined)Dynamic Body + aktuálně buildnutý JoltPath; Constraint/undefined. Path souřadnice jsou světové, rotation_mode FREE, enabledtrue; nevytváří podpůrné těleso.
JoltPath.destroyJoltPath.destroy()is_valid Boolean, platný draft bez build vrací true. Destroy Boolean idempotentně uvolní path resource a seznam řídicích bodů, nikoliv vlastní tělesa.
JoltPath.is_validJoltPath.is_valid()is_valid Boolean, platný draft bez build vrací true. Destroy Boolean idempotentně uvolní path resource a seznam řídicích bodů, nikoliv vlastní tělesa.