summaryrefslogtreecommitdiffhomepage
path: root/Racing-Game/4WheelCar/CarBody.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Racing-Game/4WheelCar/CarBody.gd')
-rw-r--r--Racing-Game/4WheelCar/CarBody.gd56
1 files changed, 18 insertions, 38 deletions
diff --git a/Racing-Game/4WheelCar/CarBody.gd b/Racing-Game/4WheelCar/CarBody.gd
index 179381c..be06de1 100644
--- a/Racing-Game/4WheelCar/CarBody.gd
+++ b/Racing-Game/4WheelCar/CarBody.gd
@@ -1,61 +1,41 @@
extends RigidBody2D
-# Declare member variables here. Examples:
-# var a = 2
-# var b = "text"
-# Called when the node enters the scene tree for the first time.
-var angular = 0;
-var directionAngle
-var directionUnitVector
+var angular = 0
+var isSkidding = 0
var cameraNode
var speedometerNode
-var isSkidding = 0
-var frWheel
-var flWheel
-var brWheel
-var blWheel
+
+var directionAngle
+var directionUnitVector
func _ready():
- frWheel = get_node("./Engine/Wheels/FRWheel")
- flWheel = get_node("./Engine/Wheels/FLWheel")
- brWheel = get_node("./Engine/Wheels/BRWheel")
- blWheel = get_node("./Engine/Wheels/BLWheel")
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta):
+ pass
+
+func _process(_delta):
directionAngle = get_transform().get_rotation() + (PI/2.0)#the angle the car is facing(relative to the world)
directionUnitVector = Vector2(cos(directionAngle),sin(directionAngle))#the direction the car is facing
- linear_damp = 0.01
- angular = 5
-
- if(isSkidding > 0):
- frWheel.isSkidOverride = true
- flWheel.isSkidOverride = true
- brWheel.isSkidOverride = true
- blWheel.isSkidOverride = true
- frWheel.isSkid = true
- flWheel.isSkid = true
- brWheel.isSkid = true
- blWheel.isSkid = true
- #emit_signal("speedometer", measure_forward_velocity())
+ linear_damp = 0.01 #Sets forward momentum dampening
+ angular = 5 #Sets the base angular momentum dampening
+
+ #HUD Stuff:
cameraNode = get_node("/root/World/Camera2D")
speedometerNode = get_node("/root/World/Camera2D/Panel/Speedometer")
cameraNode.set_position(get_global_transform().get_origin())
speedometerNode.updateSpeed(floor(measure_velocity()))
+ #Steering strength at different speeds, should probably look at this and remove it(move to wheels)
+ #See issue #8
if measure_velocity() < 30:
- angular_damp = angular*1
+ angular_damp = angular*0.2
elif measure_velocity() < 85:
angular_damp = angular*0.4
else:
- angular_damp = angular*0.05
-
+ angular_damp = angular*1
-
+#Total speed of the car
func measure_velocity():
return sqrt(get_linear_velocity().dot(get_linear_velocity()))/12
+#Gets only the component that is going in the direction of the car
func measure_forward_velocity():
return floor(measure_velocity() * cos(directionUnitVector.angle_to(get_linear_velocity())))
-
-func forceSkidMarks(skid):
- isSkidding += skid