Pomocné skripty · Fyzické ovládací prvky

Pedál (Pedal)

Pedal vytváří zvednutou desku, která se stiskem sklápí kolem zadní hrany.

GML
jolt_control_pedal(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
size{x:0.4, y:0.7, z:0.08}
mass / travel_angle2 kg / 30°
auto_return / targettrue / 0
drive{max_torque:20, frequency:4, damping:1}
detents[]

Montážní rotation popisuje rovinu plně stisknuté desky. Deska vede od pivotu podél +Y a při vytvoření je zvednutá o travel_angle; stisk je kladná rotace kolem montážní −X. travel_angle musí být větší než 0 a menší než 180°. min_angle a max_angle tento typ odmítá. get_value() znamená 0 uvolněno, 1 stisknuto.

Příklad#

GML
pedal = jolt_control_pedal({
    travel_angle: 25,
    output: {min: 0, max: 100},
    resistance: 0.2
});
var brake_percent = pedal.get_output_value();

target je kanonická hodnota 0..1. Samotný set_target() pouze uloží cíl; pohon zapíná auto_return: true nebo set_auto_return(true). Těleso k cíli dojede fyzikálně, není při vytvoření přesunuto do targetu.

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_pedaljolt_control_pedal(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. Pedál: size .4/.7/.08 m, mass2 kg, travel_angle30° (0, 180), auto_return true, target0; nepřijímá min/max_angle.