Pomocné skripty · Fyzické ovládací prvky

Absolutní pevné polohy

Absolutní detenty patří ke konkrétnímu logickému úhlu včetně čísla otáčky a samy se neopakují.

GML
control.set_absolute_detents(items)
control.get_absolute_detents()
control.get_absolute_detent()
PoložkaVýznam / výchozí hodnota
itemsPole nejvýše 256 jedinečných structů; [] vypíná.
anglePovinný logický úhel ve stupních v rozsahu ±10¹².
capture_angle / release_angle5° / 10°
max_torque / frequency / damping5 N·m / 8 Hz / 1

Platí 0 < capture_angle < release_angle < 45°, moment/frequency > 0 a damping ≥ 0. Body 90° a 450° jsou dvě různé polohy. Duplicity se odmítají; neplatná náhrada ponechá předchozí seznam aktivní. Getter seznamu vrací kopii.

Příklad#

GML
crank = jolt_control_crank({absolute_detents: [
    {angle: 90, max_torque: 3},
    {angle: 450, max_torque: 3}
]});
var held = crank.get_absolute_detent();
if (!is_undefined(held)) show_debug_message(held.angle);

get_absolute_detent() vrací {index,angle} s indexem od 0 v pořadí vstupu, nebo undefined bez aktivního bodu. Při shodné vzdálenosti rozhoduje vstupní index. Zachycený absolutní detent má přednost před periodickým i všemi motory. Nejde o cílový motor na libovolnou vzdálenost: nejprve se musíte fyzicky dostat do capture oblasti.

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_absolute_detentJoltControl.get_absolute_detent()Wheel/Crank: pole max256 cílů angle ±1e12°, 0<capture<release<45°, torque/frequency>0, damping>=0 (default 5/10°/5N·m/8Hz/1). Setter Boolean; seznam kopií, aktivní {index, angle} nebo undefined. [] vypne.
JoltControl.get_absolute_detentsJoltControl.get_absolute_detents()Wheel/Crank: pole max256 cílů angle ±1e12°, 0<capture<release<45°, torque/frequency>0, damping>=0 (default 5/10°/5N·m/8Hz/1). Setter Boolean; seznam kopií, aktivní {index, angle} nebo undefined. [] vypne.
JoltControl.set_absolute_detentsJoltControl.set_absolute_detents(options)Wheel/Crank: pole max256 cílů angle ±1e12°, 0<capture<release<45°, torque/frequency>0, damping>=0 (default 5/10°/5N·m/8Hz/1). Setter Boolean; seznam kopií, aktivní {index, angle} nebo undefined. [] vypne.