‹›
Vehicles

Stav vozidla a gettery

Čte rychlost, stav pohonu a počet kol sestaveného vozidla bez duplikování nativní simulace v GML.

Runtime gettery vyžadují živé sestavené vozidlo s výjimkou get_wheel_count(), který vrací managed počet kol draftu, dokud je wrapper platný.

Gettery vozidla#

MetodaNávratová hodnota
is_valid()Boolean kontrola platnosti wrapperu a native resource.
get_speed()Nezáporná velikost world linear velocity chassis.
get_forward_speed()Podepsaná rychlost podél aktuálního lokálního +Y chassis.
get_engine_rpm()Aktuální nativní RPM motoru.
get_current_gear()Záporný reverse, nula neutral, kladný forward.
get_engine_state(){rpm, gear, clutch, switching}.
get_wheel_count()Počet kol přidaných do managed vozidla.
get_wheel(index)Kompletní snapshot kola nebo undefined.
get_wheel_transform(index){position, rotation} nebo undefined.
GML
var state = car.get_engine_state();
show_debug_message("speed=" + string(car.get_forward_speed())
    + " rpm=" + string(state.rpm)
    + " gear=" + string(state.gear));

Význam rychlosti#

  • get_speed() měří pohyb libovolným world směrem včetně smyku nebo vertikální rychlosti.
  • get_forward_speed() se znaménkem rotuje s chassis a hodí se pro logiku jízdy vpřed/vzad.
  • Ani jedna hodnota není úhlová rychlost kola; tu vrací wheel.angular_velocity.

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
JoltVehicle.get_current_gearJoltVehicle.get_current_gear()Číselné RPM nebo index převodu podle metody; undefined při chybě/nebuildnutém vehicle.
JoltVehicle.get_engine_stateJoltVehicle.get_engine_state()Vrací {rpm, gear, clutch, switching}. I při chybě může existovat struct s undefined číselnými poli a switching=false; samotný struct nepotvrzuje platnost.
JoltVehicle.get_forward_speedJoltVehicle.get_forward_speed()Číslo m/s nebo undefined při chybě; speed je velikost rychlosti, forward_speed podepsaná složka vpřed. Vyžaduje build.
JoltVehicle.get_speedJoltVehicle.get_speed()Číslo m/s nebo undefined při chybě; speed je velikost rychlosti, forward_speed podepsaná složka vpřed. Vyžaduje build.
JoltVehicle.get_wheel_countJoltVehicle.get_wheel_count()Počet kol evidovaných GML wrapperem, funguje před build; neplatný wrapper vrací 0.