Pomocné skripty · Fyzické ovládací prvky

Klika (Crank)

Crank používá jeden pevný compound s ramenem a madlem, který se může neomezeně otáčet.

GML
jolt_control_crank(options=undefined)

Před vytvořením zavolejte jolt_start(). Každá factory přijímá jeden volitelný options struct a vrací JoltControl, při chybě undefined. Společné options: parent, position/rotation nebo local_position/local_rotation, mass, resistance a output. Rozměry jsou celé délky v metrech, hmotnost v kg; úhly tohoto API jsou ve stupních. Detaily společného nastavení najdete v kapitole Uchycení, velikost a vykreslování.

PoložkaVýznam / výchozí hodnota
arm_length0.5 m
arm_size{width:0.08, depth:0.08}
handle_radius / handle_length0.08 m / 0.18 m
mass / resistance1 kg / 0 N·m

Rameno vede od pivotu podél +X, jeho width je rozměr Y a depth rozměr Z. Madlo leží na konci ramene a vede podél +Z. Všechny rozměry musí být kladné; size není podporováno. Hmotnost se vztahuje k celému compoundu. Veřejný origin je pivot, těžiště a setrvačnost odpovídají oběma částem. Madlo se samostatně neprotáčí.

Wheel a Crank přijímají periodic_detents, absolute_detents, speed_motor, position_motor, phase_motor a torque_mode. Ve výchozím stavu jsou všechny vypnuté. Nepřijímají auto_return, target, drive, detents, min_angle, max_angle, initial_phase ani initial_turns. Použijte příslušné metody kontinuálního pohonu.

Příklad#

GML
crank = jolt_control_crank({
    arm_length: 0.4,
    arm_size: {width: 0.06, depth: 0.06},
    handle_radius: 0.04,
    handle_length: 0.15,
    resistance: 0.2
});
var completed_turns = crank.get_turns();

Integrace s aktuálním projektem#

Nové související postupy#

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_control_crankjolt_control_crank(options=undefined)Vyžaduje managed svět, options volitelné, vrací vlastněný JoltControl nebo undefined. Bez parent světové position/rotation; s parent místní local_position/local_rotation, nekombinuj. Crank: arm_length.5m, arm_size .08/.08m, handle_radius.08, length.18m, mass1kg; arm +X, handle +Z. Volná rotace jako Wheel.