Pomocné skripty · Fyzické ovládací prvky

Motor absolutní polohy

Motor absolutní polohy přesune Wheel/Crank na konkrétní víceotáčkový úhel a poté jej drží.

GML
control.set_position_motor(options)
control.get_position_motor()
PoložkaVýznam / výchozí hodnota
enabled / angletrue / 0°
directionPouze "absolute".
speed360 °/s; 0 < speed ≤ 10⁶
max_torque / frequency / damping10 N·m / 5 Hz / 1

angle je konečný logický úhel v ±10¹²°. speed je kladný limit přesunu, nikoli jeho znaménko; směr určuje rozdíl polohy a cíle. max_torque/frequency musí být kladné a damping nezáporný. Vzdálený cíl se řeší rychlostním přesunem a blízko cíle lokálním pružinovým pohonem. Slabý motor může pod zatížením zůstat stát.

Příklad#

GML
crank = jolt_control_crank({position_motor: {
    angle: 720, speed: 180, max_torque: 10, frequency: 5, damping: 1
}});
// Po simulaci:
var motor = crank.get_position_motor();
if (motor.active && motor.reached) show_debug_message("At target");

enabled znamená uložený požadavek, active aktuální vlastnictví pohonu. Vyšší priorita může motor pozastavit. Position a phase navíc vracejí mode: off / paused / velocity / position, reached, angle_tolerance (0.1°) a speed_tolerance (1°/s). reached hodnotí skutečnou polohu i rychlost právě teď; není jednorázová událost a dosažený motor dále drží cíl.

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
JoltControl.get_position_motorJoltControl.get_position_motor()Wheel/Crank; absolutní logický angle ±1e12° default 0, speed (0, 1e6] °/s default 360, max_torque>0 default 10 N·m, frequency>0 default 5 Hz, damping>=0 default 1, enabled true. Setter Boolean; getter navíc mode off/paused/velocity/position, active, reached, tolerance a direction:absolute.
JoltControl.set_position_motorJoltControl.set_position_motor(options)Wheel/Crank; absolutní logický angle ±1e12° default 0, speed (0, 1e6] °/s default 360, max_torque>0 default 10 N·m, frequency>0 default 5 Hz, damping>=0 default 1, enabled true. Setter Boolean; getter navíc mode off/paused/velocity/position, active, reached, tolerance a direction:absolute.