Vehicles

Kontakty kol

Vrací snapshot kola s transformací, stavem odpružení a aktuálním nativním kontaktem s povrchem.

Když je kolo ve vzduchu, contact je undefined. Platný kontakt obsahuje bezpečný veřejný handle tělesa, volitelný managed wrapper, world position a normal.

Syntaxe#

Syntax
var wheel = vehicle.get_wheel(index);

Snapshot kola#

PoleTyp / jednotky
indexIndex od nuly.
positionWorld-space {x,y,z}.
rotationAutoritativní quaternion {x,y,z,w}.
rotation_eulerGameMaker helper ve stupních.
transform{position, rotation}.
steering_angleStupně.
suspension_lengthWorld units.
suspension_compressionNormalizované 0..1.
angular_velocityRadiány za sekundu.
rotation_angleStupně.
radius / widthNakonfigurované world units.
drivenBoolean driven flag.
has_contactBoolean.
contactStruct nebo undefined.

Contact struct#

PoleVýznam
body_handleBezpečný veřejný JoltBody handle nebo 0.
bodyManaged JoltBody wrapper nalezený z handlu nebo undefined.
positionWorld-space kontaktní bod.
normalWorld-space normála povrchu.
GML
var wheel = car.get_wheel(0);
if (!is_undefined(wheel) && wheel.has_contact) {
    draw_text(16, 16, "ground body=" + string(wheel.contact.body_handle));
}

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_wheelJoltVehicle.get_wheel(index)Index od 0; build nutný. Vrací snapshot position/rotation/rotation_euler/transform ve světě, has_contact, contact (body_handle/position/normal a případně body), steering_angle, suspension_length/compression, angular_velocity, rotation_angle, radius, width, driven. Neplatný index/wrapper undefined. Steering/rotation_angle jsou stupně, angular_velocity rad/s; délky m. Kolo není samostatné těleso.