diff options
| author | realtradam <[email protected]> | 2020-03-19 03:32:54 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2020-03-19 03:32:54 -0400 |
| commit | c7e8f17ba13d4c9e54764286367a26f25b049dc4 (patch) | |
| tree | 6ed85dcd09186f9884b77d56c81f94136154577a /Racing-Game/4WheelCar/Wheels/BackWheel.gd | |
| parent | 57c5f73d0d957dc426d922d591fa5a0dd1452892 (diff) | |
| download | optimal-direction-c7e8f17ba13d4c9e54764286367a26f25b049dc4.tar.gz optimal-direction-c7e8f17ba13d4c9e54764286367a26f25b049dc4.zip | |
fixed up file structure
Diffstat (limited to 'Racing-Game/4WheelCar/Wheels/BackWheel.gd')
| -rw-r--r-- | Racing-Game/4WheelCar/Wheels/BackWheel.gd | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Racing-Game/4WheelCar/Wheels/BackWheel.gd b/Racing-Game/4WheelCar/Wheels/BackWheel.gd new file mode 100644 index 0000000..88df113 --- /dev/null +++ b/Racing-Game/4WheelCar/Wheels/BackWheel.gd @@ -0,0 +1,50 @@ +extends "res://4WheelCar/Wheels/Wheel.gd" + +#Accelerating +var hp = 4.0 +var acceleration = 5 + +var gripDelay = 0 + +func _ready(): + pass + +func _process(delta): + #Variable Setup + #---null_slide vars + nullStrength = 0 + carAngle = get_node("../../../CarBody").get_transform().get_rotation() + velVector = get_node("../../../CarBody").get_linear_velocity() + velocity = measure_velocity() + #--- + set_rotation(carAngle) + + isSkid = Input.is_action_pressed("grip") + + if Input.is_action_pressed("grip") || Input.is_action_pressed("brake"): + nullStrength += max(5,velocity/7) + else: + nullStrength += 1 + + #Braking + setBrake(0) + null_slide(nullStrength, delta) + + + if Input.is_action_pressed("forward"): + if !Input.is_action_pressed("brake"): + apply_central_impulse(Vector2(0,-gear(velocity, hp, acceleration)).rotated(carAngle)*delta*5000) + else: + pass + elif Input.is_action_pressed("backward"): + if !Input.is_action_pressed("brake"): + apply_central_impulse(Vector2(0,(1)).rotated(carAngle)*delta*5000) + else: + pass + +func measure_velocity(): + return sqrt(get_linear_velocity().dot(get_linear_velocity()))/12 + + +func gear(var rpm, var maxPower, var topSpeed): + return max(-pow((rpm/((1000/topSpeed)/sqrt(maxPower)))-sqrt(maxPower),2)+(maxPower+1),0) |
