Pomocné skripty · Fyzické ovládací prvky
Reference API JoltControl
Přehled všech veřejných metod JoltControl, jejich použitelných typů a návratových hodnot.
Vytvářejte ovladače přes devět jolt_control_* factories uvedených v této kategorii, nikoli přímým new JoltControl(). Každá factory má signaturu (options=undefined) a vrací JoltControl nebo undefined. Veřejné vazby body, constraint, parent a type slouží k orientaci a integraci, data je vlastní gameplay struct. Interní handle, valid a config nepřepisujte.
Společné metody#
| Signatura | Návrat |
|---|---|
| is_valid() | bool |
| destroy() | bool |
| get_transform() / get_base_transform() | {position:{x,y,z}, rotation:{x,y,z,w}} | undefined |
| set_locked(enabled) / is_locked() | bool / bool |
| set_resistance(value) / get_resistance() | bool / real | undefined |
| get_value(axis=undefined) | real | undefined; Joystick vyžaduje 0 nebo 1. |
| get_output_value(axis=undefined) | real | undefined; Joystick vyžaduje 0 nebo 1. |
| set_output_range(minimum, maximum, axis=undefined) | bool |
| set_inverted(enabled, axis=undefined) / is_inverted(axis=undefined) | bool / bool |
| get_output_config() | {min,max,inverted} | {x:{min,max,inverted},y:{min,max,inverted}} | undefined |
Omezené ovladače a Joystick#
| Položka | Význam / výchozí hodnota |
|---|---|
| set_target(value, y=undefined) | bool; scalar 0..1, u Joysticku dvojice x,y v disku. |
| set_auto_return(enabled) | bool |
| set_detents(items) / get_detents() | bool / array | undefined |
| get_detent() | index 0..255 nebo −1 bez aktivního detentu. |
| is_pressed() | bool; existuje jen u Button. |
| get_values() / get_output_values() | {x,y} | undefined; jen Joystick. |
Jen Wheel a Crank#
| Položka | Význam / výchozí hodnota |
|---|---|
| get_angle() / get_turns() / get_phase() / get_speed() | real | undefined; ° / celé otáčky / [0,1) / °/s. |
| set_zero() | bool |
| set_periodic_detents(options) / get_periodic_detents() | bool / {count,max_torque,capture_angle,release_angle,frequency,damping} | false | undefined |
| get_periodic_detent() | {index,angle} | undefined |
| set_absolute_detents(items) / get_absolute_detents() | bool / array | undefined |
| get_absolute_detent() | {index,angle} | undefined |
| set_speed_motor(options) / get_speed_motor() | bool / {enabled,speed,max_torque,active} | undefined |
| set_position_motor(options) / get_position_motor() | bool / {enabled,angle,speed,max_torque,frequency,damping,direction,mode,active,reached,angle_tolerance,speed_tolerance} | undefined |
| set_phase_motor(options) / get_phase_motor() | bool / {enabled,phase,direction,speed,max_torque,frequency,damping,mode,active,reached,angle_tolerance,speed_tolerance,resolved_angle} | undefined |
| set_torque_mode(options) / get_torque_mode() | bool / {enabled,torque,active} | undefined |
Signatury používají čitelné názvy parametrů; GML implementace má stejná pořadí s interním prefixem _. Podrobné options, výchozí hodnoty, příklady a validaci obsahuje samostatná kapitola každé funkce. Použití metody na nepodporovaném typu není způsob převodu mechanismu a může vrátit INVALID_OPERATION.