Added hit indicator

This commit is contained in:
2026-07-25 15:43:34 +03:00
parent 623ad761ec
commit ed714e611a
2 changed files with 18 additions and 0 deletions
+11
View File
@@ -10,6 +10,8 @@ const MAX_HEALTH = 100.0
const CAMERA_OFFSET_FACTOR = 0.4 const CAMERA_OFFSET_FACTOR = 0.4
const CAMERA_OFFSET_TIME = 1.0 const CAMERA_OFFSET_TIME = 1.0
const SHADER_DAMAGE_INDICATOR = "shader_parameter/intensity"
@export_group("Movement", "move") @export_group("Movement", "move")
@export_range(0.0, 1000.0) var move_max_speed_normal := 350 @export_range(0.0, 1000.0) var move_max_speed_normal := 350
@@ -35,6 +37,7 @@ const CAMERA_OFFSET_TIME = 1.0
var _slow_down_tween: Tween var _slow_down_tween: Tween
var _camera_offset_tween: Tween var _camera_offset_tween: Tween
var _damage_indicator_tween: Tween
var _last_wall_normal: = 0.0 var _last_wall_normal: = 0.0
@@ -155,6 +158,14 @@ func _input(event: InputEvent) -> void:
func deal_damage(value: float) -> void: func deal_damage(value: float) -> void:
if _damage_indicator_tween and _damage_indicator_tween.is_running():
_damage_indicator_tween.kill()
_damage_indicator_tween = create_tween()
_damage_indicator_tween.tween_property(player_sprite.material, SHADER_DAMAGE_INDICATOR, 0, 0.0)
_damage_indicator_tween.tween_property(player_sprite.material, SHADER_DAMAGE_INDICATOR, 1, 0.1)
_damage_indicator_tween.tween_property(player_sprite.material, SHADER_DAMAGE_INDICATOR, 0, 0.1)
_current_health -= value _current_health -= value
health_changed.emit(_current_health) health_changed.emit(_current_health)
if _current_health < 0.0 or is_zero_approx(_current_health): if _current_health < 0.0 or is_zero_approx(_current_health):
+7
View File
@@ -2,12 +2,18 @@
[ext_resource type="Script" uid="uid://bm48h30pkhdkv" path="res://game/entities/player/player.gd" id="1_1a4jd"] [ext_resource type="Script" uid="uid://bm48h30pkhdkv" path="res://game/entities/player/player.gd" id="1_1a4jd"]
[ext_resource type="Texture2D" uid="uid://vcrtyu5ifvsp" path="res://images/entities/player.png" id="2_cjfdk"] [ext_resource type="Texture2D" uid="uid://vcrtyu5ifvsp" path="res://images/entities/player.png" id="2_cjfdk"]
[ext_resource type="Shader" uid="uid://bywlejhmgj55q" path="res://game/shaders/hit_indicator.gdshader" id="2_kn1iv"]
[ext_resource type="PackedScene" uid="uid://blxgfix54dxq3" path="res://game/state_machine/state_machine.tscn" id="2_x4rrl"] [ext_resource type="PackedScene" uid="uid://blxgfix54dxq3" path="res://game/state_machine/state_machine.tscn" id="2_x4rrl"]
[ext_resource type="PackedScene" uid="uid://btu3hxif2xpvu" path="res://game/entities/player/states/idle_state.tscn" id="3_cjfdk"] [ext_resource type="PackedScene" uid="uid://btu3hxif2xpvu" path="res://game/entities/player/states/idle_state.tscn" id="3_cjfdk"]
[ext_resource type="PackedScene" uid="uid://35g5buv0k1s6" path="res://game/entities/player/states/running_state.tscn" id="5_oic1i"] [ext_resource type="PackedScene" uid="uid://35g5buv0k1s6" path="res://game/entities/player/states/running_state.tscn" id="5_oic1i"]
[ext_resource type="PackedScene" uid="uid://bboaskqiwnbsb" path="res://game/entities/player/states/jump_state.tscn" id="6_v0nmi"] [ext_resource type="PackedScene" uid="uid://bboaskqiwnbsb" path="res://game/entities/player/states/jump_state.tscn" id="6_v0nmi"]
[ext_resource type="PackedScene" uid="uid://ba5sknbijujl2" path="res://game/entities/player/states/wall_state.tscn" id="7_dhej3"] [ext_resource type="PackedScene" uid="uid://ba5sknbijujl2" path="res://game/entities/player/states/wall_state.tscn" id="7_dhej3"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fa7iy"]
shader = ExtResource("2_kn1iv")
shader_parameter/damage_color = Color(0.8235294, 0.8235294, 0.83137256, 1)
shader_parameter/intensity = 0.0
[sub_resource type="AtlasTexture" id="AtlasTexture_cjfdk"] [sub_resource type="AtlasTexture" id="AtlasTexture_cjfdk"]
atlas = ExtResource("2_cjfdk") atlas = ExtResource("2_cjfdk")
region = Rect2(0, 32, 32, 32) region = Rect2(0, 32, 32, 32)
@@ -549,6 +555,7 @@ collision_layer = 2
script = ExtResource("1_1a4jd") script = ExtResource("1_1a4jd")
[node name="PlayerSprite" type="AnimatedSprite2D" parent="." unique_id=2025942250] [node name="PlayerSprite" type="AnimatedSprite2D" parent="." unique_id=2025942250]
material = SubResource("ShaderMaterial_fa7iy")
sprite_frames = SubResource("SpriteFrames_bhunq") sprite_frames = SubResource("SpriteFrames_bhunq")
animation = &"idle" animation = &"idle"