Asteroid collisions, camera shake, sound effects
This commit is contained in:
parent
ad7c280c24
commit
66ed42e3cb
10 changed files with 56 additions and 5 deletions
|
|
@ -1,7 +1,8 @@
|
||||||
[gd_scene load_steps=6 format=3 uid="uid://bauklhpieuivd"]
|
[gd_scene load_steps=7 format=3 uid="uid://bauklhpieuivd"]
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dtwo7g0ipc4k" path="res://textures/ship_1.png" id="1_uwrxv"]
|
[ext_resource type="Texture2D" uid="uid://dtwo7g0ipc4k" path="res://textures/ship_1.png" id="1_uwrxv"]
|
||||||
[ext_resource type="Script" uid="uid://bfxfkrkaebxk0" path="res://scripts/player.gd" id="1_yqjtg"]
|
[ext_resource type="Script" uid="uid://bfxfkrkaebxk0" path="res://scripts/player.gd" id="1_yqjtg"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://5tr30e1tmdp6" path="res://sounds/collision.mp3" id="2_lbhrr"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dgng5vdhn6anc" path="res://scenes/asteroid.tscn" id="3_lnu2h"]
|
[ext_resource type="PackedScene" uid="uid://dgng5vdhn6anc" path="res://scenes/asteroid.tscn" id="3_lnu2h"]
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_uwrxv"]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_uwrxv"]
|
||||||
|
|
@ -16,15 +17,18 @@ radius = 20.0
|
||||||
linear_damp = 6.247
|
linear_damp = 6.247
|
||||||
script = ExtResource("1_yqjtg")
|
script = ExtResource("1_yqjtg")
|
||||||
|
|
||||||
|
[node name="Collision" type="AudioStreamPlayer" parent="Player"]
|
||||||
|
stream = ExtResource("2_lbhrr")
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite2D" parent="Player"]
|
[node name="Sprite" type="Sprite2D" parent="Player"]
|
||||||
texture = ExtResource("1_uwrxv")
|
texture = ExtResource("1_uwrxv")
|
||||||
|
|
||||||
[node name="CollisionShape" type="CollisionShape2D" parent="Player"]
|
[node name="CollisionShape" type="CollisionShape2D" parent="Player"]
|
||||||
shape = SubResource("CircleShape2D_uwrxv")
|
shape = SubResource("CircleShape2D_uwrxv")
|
||||||
|
|
||||||
[node name="Camera2D" type="Camera2D" parent="Player"]
|
[node name="Camera" type="Camera2D" parent="Player"]
|
||||||
ignore_rotation = false
|
ignore_rotation = false
|
||||||
position_smoothing_enabled = true
|
limit_enabled = false
|
||||||
position_smoothing_speed = 8.0
|
position_smoothing_speed = 8.0
|
||||||
rotation_smoothing_enabled = true
|
rotation_smoothing_enabled = true
|
||||||
rotation_smoothing_speed = 15.0
|
rotation_smoothing_speed = 15.0
|
||||||
|
|
@ -46,3 +50,5 @@ position = Vector2(-216, 134)
|
||||||
|
|
||||||
[node name="Asteroid4" parent="." instance=ExtResource("3_lnu2h")]
|
[node name="Asteroid4" parent="." instance=ExtResource("3_lnu2h")]
|
||||||
position = Vector2(-192, -427)
|
position = Vector2(-192, -427)
|
||||||
|
|
||||||
|
[connection signal="body_shape_entered" from="Player/Hitbox" to="Player" method="_on_hitbox_body_shape_entered"]
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,21 @@
|
||||||
extends RigidBody2D
|
extends RigidBody2D
|
||||||
|
|
||||||
var health = 1000
|
var health = 1000
|
||||||
var time_since_last_collision = 0
|
var time_since_last_collision = 1
|
||||||
|
var camera_shake_power = 0
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
$Camera.offset.x = randi_range(-camera_shake_power, camera_shake_power)
|
||||||
|
$Camera.offset.y = randi_range(-camera_shake_power, camera_shake_power)
|
||||||
|
|
||||||
|
if camera_shake_power > 0:
|
||||||
|
camera_shake_power -= delta * 20
|
||||||
|
|
||||||
|
if camera_shake_power < 0:
|
||||||
|
camera_shake_power = 0
|
||||||
|
|
||||||
|
if time_since_last_collision <= 1:
|
||||||
|
time_since_last_collision += delta
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
var axis = Input.get_axis("turn_left", "turn_right")
|
var axis = Input.get_axis("turn_left", "turn_right")
|
||||||
|
|
@ -10,5 +24,17 @@ func _physics_process(delta: float) -> void:
|
||||||
|
|
||||||
var new_velocity = transform.y * Input.get_axis("forward", "backward") * 512
|
var new_velocity = transform.y * Input.get_axis("forward", "backward") * 512
|
||||||
|
|
||||||
if new_velocity.length() > linear_velocity.length() - 12:
|
if (new_velocity.length() > linear_velocity.length() - 12) :
|
||||||
linear_velocity = transform.y * Input.get_axis("forward", "backward") * 512
|
linear_velocity = transform.y * Input.get_axis("forward", "backward") * 512
|
||||||
|
if time_since_last_collision < 1:
|
||||||
|
linear_velocity *= (time_since_last_collision + 0.15) * 2
|
||||||
|
|
||||||
|
|
||||||
|
func _on_hitbox_body_shape_entered(body_rid: RID, body: Node2D, body_shape_index: int, local_shape_index: int) -> void:
|
||||||
|
if body.linear_velocity.length() + linear_velocity.length() > 256:
|
||||||
|
health -= 100
|
||||||
|
camera_shake_power = 4
|
||||||
|
|
||||||
|
$Collision.play()
|
||||||
|
|
||||||
|
time_since_last_collision = 0
|
||||||
|
|
|
||||||
BIN
sounds/2050_bass.mp3
Normal file
BIN
sounds/2050_bass.mp3
Normal file
Binary file not shown.
BIN
sounds/2050_drums.mp3
Normal file
BIN
sounds/2050_drums.mp3
Normal file
Binary file not shown.
BIN
sounds/2050_music.mp3
Normal file
BIN
sounds/2050_music.mp3
Normal file
Binary file not shown.
BIN
sounds/boost.mp3
Normal file
BIN
sounds/boost.mp3
Normal file
Binary file not shown.
BIN
sounds/collision.mp3
Normal file
BIN
sounds/collision.mp3
Normal file
Binary file not shown.
19
sounds/collision.mp3.import
Normal file
19
sounds/collision.mp3.import
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://5tr30e1tmdp6"
|
||||||
|
path="res://.godot/imported/collision.mp3-ad2e20193b236573f2e90119a231d4b9.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sounds/collision.mp3"
|
||||||
|
dest_files=["res://.godot/imported/collision.mp3-ad2e20193b236573f2e90119a231d4b9.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0
|
||||||
|
bpm=0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
BIN
sounds/explode.mp3
Normal file
BIN
sounds/explode.mp3
Normal file
Binary file not shown.
BIN
sounds/fire.mp3
Normal file
BIN
sounds/fire.mp3
Normal file
Binary file not shown.
Loading…
Reference in a new issue