Pomocné skripty · Fyzické ovládací prvky

Periodické pevné polohy

Periodické detenty opakují stejný počet pevných poloh v každé otáčce Wheel nebo Crank.

GML
control.set_periodic_detents(options)
control.get_periodic_detents()
control.get_periodic_detent()
PoložkaVýznam / výchozí hodnota
countPovinné celé číslo 1..3600. Krok = 360/count stupňů.
capture_anglemin(5, step × 0.2)
release_anglemin(10, step × 0.4)
max_torque / frequency / damping5 N·m / 8 Hz / 1

Platí 0 < capture_angle ≤ step/2 a capture_angle < release_angle < min(step,45°). Moment i frequency musí být kladné, damping nezáporný. Zóny jsou ve stupních; capture_range, release_range a step_angle sem nepatří. false detenty vypne; get_periodic_detents() pak vrací false, jinak kopii celé konfigurace.

Příklad#

GML
wheel = jolt_control_wheel({periodic_detents: {count: 12, max_torque: 2}});
var held = wheel.get_periodic_detent();
if (!is_undefined(held)) {
    show_debug_message("Index: " + string(held.index));
    show_debug_message("Angle: " + string(held.angle));
}
// wheel.set_periodic_detents(false);

get_periodic_detent() vrací undefined bez aktivního zachycení, jinak {index,angle}. index je pozice 0..count−1 v otáčce, angle je konkrétní logický úhel ve stupních včetně otáčky. Při shodné vzdálenosti se vybere nižší absolutní cílový úhel. Výběr zpracovává nativní krok, nikoli getter.

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_periodic_detentJoltControl.get_periodic_detent()Wheel/Crank: config count1..3600 nebo false vypne; stejné limity jako AssetControlSettings. Setter Boolean, getter config / false pokud vypnuto / undefined při chybě. Aktivní detent {index, angle°} nebo undefined.
JoltControl.get_periodic_detentsJoltControl.get_periodic_detents()Wheel/Crank: config count1..3600 nebo false vypne; stejné limity jako AssetControlSettings. Setter Boolean, getter config / false pokud vypnuto / undefined při chybě. Aktivní detent {index, angle°} nebo undefined.
JoltControl.set_periodic_detentsJoltControl.set_periodic_detents(options)Wheel/Crank: config count1..3600 nebo false vypne; stejné limity jako AssetControlSettings. Setter Boolean, getter config / false pokud vypnuto / undefined při chybě. Aktivní detent {index, angle°} nebo undefined.