From 4256b2001fbc181433654de9c94156ecf26e7e9c Mon Sep 17 00:00:00 2001 From: broomman Date: Fri, 7 Nov 2025 17:07:12 -0600 Subject: [PATCH] Double jump? +Jump sound? --- assets/audio/jump.ogg | Bin 0 -> 6898 bytes assets/audio/jump.ogg.import | 19 +++++++++++++++++++ assets/test.tscn | 3 +++ scenes/player.gd | 13 ++++++++++++- 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 assets/audio/jump.ogg create mode 100644 assets/audio/jump.ogg.import create mode 100644 assets/test.tscn diff --git a/assets/audio/jump.ogg b/assets/audio/jump.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a02faf8dcbb6581e052a1636992613952b2fce62 GIT binary patch literal 6898 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 literal 0 HcmV?d00001 diff --git a/assets/audio/jump.ogg.import b/assets/audio/jump.ogg.import new file mode 100644 index 0000000..1e15ee3 --- /dev/null +++ b/assets/audio/jump.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://de2e8sy4x724m" +path="res://.godot/imported/jump.ogg-09aff86a6f79a8fce2febb69902962cf.oggvorbisstr" + +[deps] + +source_file="res://assets/audio/jump.ogg" +dest_files=["res://.godot/imported/jump.ogg-09aff86a6f79a8fce2febb69902962cf.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/test.tscn b/assets/test.tscn new file mode 100644 index 0000000..672aa1a --- /dev/null +++ b/assets/test.tscn @@ -0,0 +1,3 @@ +[gd_scene format=3 uid="uid://cuyws13lbkmxb"] + +[node name="Test" type="Node2D"] diff --git a/scenes/player.gd b/scenes/player.gd index 5223894..d784093 100644 --- a/scenes/player.gd +++ b/scenes/player.gd @@ -7,10 +7,16 @@ const MOVE_SPEED := 8.0 const ACCELLERATION := 30.0 const DECELLERATION := 40.0 const JUMP_SPEED := 4.0 +const MAX_NUMBER_OF_JUMPS := 2 + var mouse_sensitivity := 0.005 var rotation_x := 0.0 var rotation_y := 0.0 var cameraMoveMode := false +var current_number_of_jumps := 0 + +var jump_sound = preload("res://assets/audio/jump.ogg") +var audio_player = AudioStreamPlayer.new() @export var camera_path: NodePath @onready var cam: Camera3D = get_node(camera_path) if camera_path != NodePath("") else null @@ -21,6 +27,9 @@ func _ready() -> void: angular_damp = 6.0 contact_monitor = true max_contacts_reported = 4 + add_child(audio_player) + audio_player.stream = jump_sound + audio_player.volume_db = -20 func _integrate_forces(state): # Input as 2D vector @@ -55,8 +64,10 @@ func _integrate_forces(state): on_floor = true break - if on_floor and Input.is_action_just_pressed("ui_accept"): + if Input.is_action_just_pressed("ui_accept") and (on_floor or current_number_of_jumps == 1): + current_number_of_jumps = (current_number_of_jumps + 1) % 2 linear_velocity.y = JUMP_SPEED + audio_player.play() func _input(event): if event is InputEventMouseButton: