Vehicles
Ovládání a fyzikální smyčka
Posílá sestavenému nativnímu controlleru normalizovaný throttle, steering, provozní brzdu a handbrake.
V běžném Step eventu nastavte input před jolt_update(). Samostatná vehicle update metoda neexistuje, protože VehicleConstraint se automaticky účastní nativního fyzikálního kroku.
Metody#
| Metoda | Rozsah | Vrací |
|---|---|---|
| set_throttle(value) | -1..1 po managed clamp | Boolean |
| set_steering(value) | -1..1 po managed clamp | Boolean |
| set_brake(value) | 0..1 po managed clamp | Boolean |
| set_handbrake(value) | 0..1 po managed clamp | Boolean |
| set_inputs(throttle, steering, brake=0, handbrake=0) | Všechny vstupy společně | Boolean |
// Step event
var throttle = gamepad_axis_value(0, gp_axislv);
var steering = gamepad_axis_value(0, gp_axisrh);
var brake = max(0, gamepad_axis_value(0, gp_axisrv));
var handbrake = gamepad_button_check(0, gp_face1);
if (!car.set_inputs(throttle, steering, brake, handbrake)) {
show_debug_message(jolt_get_error_message());
}
jolt_update();Automatická zpátečka#
V automatickém režimu nativní controller interpretuje záporný throttle jako požadavek na zpátečku. V manuálním režimu zvolte záporný převod pomocí set_gear().
Důvody selhání#
- Vozidlo ještě nebylo sestaveno.
- Vozidlo, chassis nebo managed world byly zničeny.
- Low-level volající předal NaN, nekonečno nebo hodnotu mimo rozsah.
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ík | Signatura | Kontrakt operace |
|---|---|---|
| JoltVehicle.set_inputs | JoltVehicle.set_inputs(throttle,steering,brake=0,handbrake=0) | Běžící buildnutý vehicle; Boolean. Throttle/steering clamp -1..1, brake/handbrake 0..1. Jednotlivý setter zachová ostatní vstupy; set_inputs má brzdy default 0. |
| JoltVehicle.set_throttle | JoltVehicle.set_throttle(value) | Běžící buildnutý vehicle; Boolean. Throttle/steering clamp -1..1, brake/handbrake 0..1. Jednotlivý setter zachová ostatní vstupy; set_inputs má brzdy default 0. |