small racing game im working on
fix bug where reset wouldnt reset current lap, change wheel friction slip(too much sliding out!) and dont use ui_left,right [skip ci]
bendn 2023-03-04
parent 8e7ba5f · commit e6bbe00
-rw-r--r--assets/cars/kenney_sedan/sedan.tscn4
-rw-r--r--classes/human_car.gd4
-rw-r--r--project.godot21
-rw-r--r--race.gd3
4 files changed, 24 insertions, 8 deletions
diff --git a/assets/cars/kenney_sedan/sedan.tscn b/assets/cars/kenney_sedan/sedan.tscn
index 5425b56..a8c9dd6 100644
--- a/assets/cars/kenney_sedan/sedan.tscn
+++ b/assets/cars/kenney_sedan/sedan.tscn
@@ -368,7 +368,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 1.2, 0
use_as_traction = true
wheel_radius = 0.7
wheel_rest_length = 0.4
-wheel_friction_slip = 1.6
+wheel_friction_slip = 1.8
suspension_travel = 0.2
suspension_stiffness = 150.0
suspension_max_force = 18000.0
@@ -388,7 +388,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -1.2,
use_as_traction = true
wheel_radius = 0.7
wheel_rest_length = 0.4
-wheel_friction_slip = 1.6
+wheel_friction_slip = 1.8
suspension_travel = 0.2
suspension_stiffness = 150.0
suspension_max_force = 18000.0
diff --git a/classes/human_car.gd b/classes/human_car.gd
index 3376ad2..335b604 100644
--- a/classes/human_car.gd
+++ b/classes/human_car.gd
@@ -9,11 +9,11 @@ static func attach(to: PackedScene) -> HumanCar:
func _physics_process(delta: float) -> void:
throttle = Input.get_action_strength("accel")
brake = Input.get_action_strength("brake") * MAX_BRAKE_FORCE
- steer(Input.get_axis("ui_left", "ui_right"))
+ steer(Input.get_axis("left", "right"))
super(delta)
func shift_up():
return Input.is_action_just_pressed("shift_up")
func shift_down():
- return Input.is_action_just_pressed("shift_down") \ No newline at end of file
+ return Input.is_action_just_pressed("shift_down")
diff --git a/project.godot b/project.godot
index 41ea384..9286dea 100644
--- a/project.godot
+++ b/project.godot
@@ -71,18 +71,19 @@ ui_right={
]
}
accel={
-"deadzone": 0.5,
+"deadzone": 0.1,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null)
]
}
brake={
-"deadzone": 0.5,
+"deadzone": 0.1,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":4,"axis_value":1.0,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null)
-, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null)
]
}
shift_down={
@@ -103,6 +104,20 @@ reset={
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":false,"script":null)
]
}
+left={
+"deadzone": 0.1,
+"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null)
+]
+}
+right={
+"deadzone": 0.1,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null)
+]
+}
[layer_names]
diff --git a/race.gd b/race.gd
index a12a83e..0b9c551 100644
--- a/race.gd
+++ b/race.gd
@@ -89,6 +89,7 @@ func reset() -> void:
reset_ghost()
await reset_car()
set_physics_process(false)
+ current_lap = 0
data.clear()
timer.reset()
did_reset.emit()
@@ -112,7 +113,7 @@ func passed_finish() -> void:
timer.stop()
if not best_time_data or data.time < best_time_data.time:
print("new pb!")
- finished.emit(data.time, -1)
+ finished.emit(data.time, best_time_data.time if best_time_data else -1)
data.save(saves % track_res.name)
best_time_data = data
else: