Added health bar

This commit is contained in:
Kristofers Solo 2021-11-13 15:02:48 +02:00
parent f7cb616e21
commit 9a157b2284
8 changed files with 98 additions and 45 deletions

View File

@ -9,6 +9,8 @@ var bullet
var username_text = load("res://source/scenes/OVERLAY/elements/username_text.tscn")
var username setget username_set
var username_text_instance = null
var health_bar_scene = load("res://source/scenes/OVERLAY/elements/HUD.tscn")
var health_bar_instance = null
var hp = 100 setget set_hp
var can_shoot = true
var is_reloading = false
@ -96,6 +98,8 @@ func _ready():
get_tree().connect("network_peer_connected", self, "_network_peer_connected")
username_text_instance = Global.instance_node_at_location(username_text, PersistentNodes, global_position)
username_text_instance.player_following = self
health_bar_instance = Global.instance_node_at_location(health_bar_scene, PersistentNodes, global_position)
health_bar_instance.player_following = self
update_shoot_mode(false)
Global.alive_players.append(self)
@ -421,14 +425,17 @@ func _on_hitbox_area_entered(area):
sync func hit_by_damager(damage):
hp -= damage
modulate = Color(5, 5, 5, 1)
health_bar_instance.value = hp
hit_timer.start()
sync func enable() -> void:
hp = 100
health_bar_instance.value = 100
can_shoot = false
update_shoot_mode(false)
username_text_instance.visible = true
health_bar_instance.visible = true
visible = true
$player_collider.disabled = false
$hitbox/CollisionShape2D.disabled = false
@ -444,6 +451,7 @@ sync func enable() -> void:
sync func destroy() -> void:
username_text_instance.visible = false
health_bar_instance.visible = false
visible = false
$player_collider.disabled = true
$hitbox/CollisionShape2D.disabled = true

View File

@ -70,6 +70,7 @@ func _player_disconnected(id) -> void:
if PersistentNodes.has_node(str(id)):
PersistentNodes.get_node(str(id)).username_text_instance.queue_free()
PersistentNodes.get_node(str(id)).health_bar_instance.queue_free()
PersistentNodes.get_node(str(id)).queue_free()

View File

@ -0,0 +1,18 @@
extends Node2D
var player_following = null
var value = "" setget value_set
var distanceToPlayerOffset = -150
onready var health_bar = $health_bar
func _process(delta: float) -> void:
if player_following != null:
global_position = player_following.global_position + Vector2(0,distanceToPlayerOffset).rotated(player_following.rotation)
func value_set(new_text) -> void:
value = new_text
health_bar.value = value

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 B

View File

@ -173,10 +173,15 @@
[sub_resource type="SpriteFrames" id=2]
animations = [ {
"frames": [ ExtResource( 5 ), ExtResource( 42 ), ExtResource( 35 ), ExtResource( 24 ), ExtResource( 8 ), ExtResource( 31 ), ExtResource( 30 ), ExtResource( 38 ), ExtResource( 10 ), ExtResource( 43 ), ExtResource( 41 ), ExtResource( 33 ), ExtResource( 44 ), ExtResource( 19 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 36 ), ExtResource( 12 ), ExtResource( 45 ), ExtResource( 21 ) ],
"frames": [ ExtResource( 70 ), ExtResource( 49 ), ExtResource( 74 ), ExtResource( 75 ), ExtResource( 28 ), ExtResource( 52 ), ExtResource( 53 ), ExtResource( 55 ), ExtResource( 150 ), ExtResource( 156 ), ExtResource( 138 ), ExtResource( 161 ), ExtResource( 145 ), ExtResource( 148 ), ExtResource( 147 ), ExtResource( 133 ), ExtResource( 164 ), ExtResource( 134 ), ExtResource( 152 ), ExtResource( 160 ) ],
"loop": true,
"name": "boost-speed-right-01",
"speed": 50.0
"name": "move-speed-left-03",
"speed": 35.0
}, {
"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ],
"loop": true,
"name": "move-speed-right-02",
"speed": 35.0
}, {
"frames": [ ExtResource( 5 ), ExtResource( 42 ), ExtResource( 35 ), ExtResource( 24 ), ExtResource( 8 ), ExtResource( 31 ), ExtResource( 30 ), ExtResource( 38 ), ExtResource( 10 ), ExtResource( 43 ), ExtResource( 41 ), ExtResource( 33 ), ExtResource( 44 ), ExtResource( 19 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 36 ), ExtResource( 12 ), ExtResource( 45 ), ExtResource( 21 ) ],
"loop": true,
@ -188,21 +193,6 @@ animations = [ {
"name": "move-speed-right-04",
"speed": 35.0
}, {
"frames": [ ExtResource( 162 ), ExtResource( 135 ), ExtResource( 146 ), ExtResource( 141 ), ExtResource( 143 ), ExtResource( 163 ), ExtResource( 149 ), ExtResource( 136 ), ExtResource( 154 ), ExtResource( 137 ), ExtResource( 165 ), ExtResource( 142 ), ExtResource( 139 ), ExtResource( 159 ), ExtResource( 140 ), ExtResource( 155 ), ExtResource( 144 ), ExtResource( 151 ), ExtResource( 153 ), ExtResource( 166 ) ],
"loop": true,
"name": "boost-speed-left-04",
"speed": 50.0
}, {
"frames": [ ExtResource( 5 ), ExtResource( 42 ), ExtResource( 35 ), ExtResource( 24 ), ExtResource( 8 ), ExtResource( 31 ), ExtResource( 30 ), ExtResource( 38 ), ExtResource( 10 ), ExtResource( 43 ), ExtResource( 41 ), ExtResource( 33 ), ExtResource( 44 ), ExtResource( 19 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 36 ), ExtResource( 12 ), ExtResource( 45 ), ExtResource( 21 ) ],
"loop": true,
"name": "idle-speed-right-02",
"speed": 25.0
}, {
"frames": [ ExtResource( 99 ), ExtResource( 83 ), ExtResource( 109 ), ExtResource( 111 ), ExtResource( 101 ), ExtResource( 96 ), ExtResource( 79 ), ExtResource( 132 ), ExtResource( 119 ), ExtResource( 80 ), ExtResource( 85 ), ExtResource( 86 ), ExtResource( 87 ), ExtResource( 106 ), ExtResource( 121 ), ExtResource( 129 ), ExtResource( 100 ), ExtResource( 108 ), ExtResource( 110 ), ExtResource( 120 ) ],
"loop": true,
"name": "boost-speed-right-04",
"speed": 50.0
}, {
"frames": [ ExtResource( 114 ), ExtResource( 128 ), ExtResource( 93 ), ExtResource( 107 ), ExtResource( 117 ), ExtResource( 102 ), ExtResource( 81 ), ExtResource( 118 ), ExtResource( 76 ), ExtResource( 115 ), ExtResource( 127 ), ExtResource( 123 ), ExtResource( 113 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 124 ), ExtResource( 94 ), ExtResource( 112 ), ExtResource( 131 ), ExtResource( 95 ) ],
"loop": true,
"name": "move-speed-right-03",
@ -233,15 +223,40 @@ animations = [ {
"name": "idle-speed-left-01",
"speed": 25.0
}, {
"frames": [ ExtResource( 70 ), ExtResource( 49 ), ExtResource( 74 ), ExtResource( 75 ), ExtResource( 28 ), ExtResource( 52 ), ExtResource( 53 ), ExtResource( 55 ), ExtResource( 150 ), ExtResource( 156 ), ExtResource( 138 ), ExtResource( 161 ), ExtResource( 145 ), ExtResource( 148 ), ExtResource( 147 ), ExtResource( 133 ), ExtResource( 164 ), ExtResource( 134 ), ExtResource( 152 ), ExtResource( 160 ) ],
"frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ],
"loop": true,
"name": "move-speed-left-03",
"name": "boost-speed-left-01",
"speed": 50.0
}, {
"frames": [ ExtResource( 162 ), ExtResource( 135 ), ExtResource( 146 ), ExtResource( 141 ), ExtResource( 143 ), ExtResource( 163 ), ExtResource( 149 ), ExtResource( 136 ), ExtResource( 154 ), ExtResource( 137 ), ExtResource( 165 ), ExtResource( 142 ), ExtResource( 139 ), ExtResource( 159 ), ExtResource( 140 ), ExtResource( 155 ), ExtResource( 144 ), ExtResource( 151 ), ExtResource( 153 ), ExtResource( 166 ) ],
"loop": true,
"name": "boost-speed-left-04",
"speed": 50.0
}, {
"frames": [ ExtResource( 5 ), ExtResource( 42 ), ExtResource( 35 ), ExtResource( 24 ), ExtResource( 8 ), ExtResource( 31 ), ExtResource( 30 ), ExtResource( 38 ), ExtResource( 10 ), ExtResource( 43 ), ExtResource( 41 ), ExtResource( 33 ), ExtResource( 44 ), ExtResource( 19 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 36 ), ExtResource( 12 ), ExtResource( 45 ), ExtResource( 21 ) ],
"loop": true,
"name": "idle-speed-right-02",
"speed": 25.0
}, {
"frames": [ ExtResource( 99 ), ExtResource( 83 ), ExtResource( 109 ), ExtResource( 111 ), ExtResource( 101 ), ExtResource( 96 ), ExtResource( 79 ), ExtResource( 132 ), ExtResource( 119 ), ExtResource( 80 ), ExtResource( 85 ), ExtResource( 86 ), ExtResource( 87 ), ExtResource( 106 ), ExtResource( 121 ), ExtResource( 129 ), ExtResource( 100 ), ExtResource( 108 ), ExtResource( 110 ), ExtResource( 120 ) ],
"loop": true,
"name": "boost-speed-right-04",
"speed": 50.0
}, {
"frames": [ ExtResource( 5 ), ExtResource( 42 ), ExtResource( 35 ), ExtResource( 24 ), ExtResource( 8 ), ExtResource( 31 ), ExtResource( 30 ), ExtResource( 38 ), ExtResource( 10 ), ExtResource( 43 ), ExtResource( 41 ), ExtResource( 33 ), ExtResource( 44 ), ExtResource( 19 ), ExtResource( 29 ), ExtResource( 25 ), ExtResource( 36 ), ExtResource( 12 ), ExtResource( 45 ), ExtResource( 21 ) ],
"loop": true,
"name": "boost-speed-right-01",
"speed": 50.0
}, {
"frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ],
"loop": true,
"name": "move-speed-left-01",
"speed": 35.0
}, {
"frames": [ ExtResource( 167 ), ExtResource( 157 ), ExtResource( 158 ), ExtResource( 126 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 97 ), ExtResource( 88 ), ExtResource( 98 ), ExtResource( 91 ), ExtResource( 125 ), ExtResource( 105 ), ExtResource( 82 ), ExtResource( 84 ), ExtResource( 92 ), ExtResource( 103 ), ExtResource( 122 ), ExtResource( 130 ), ExtResource( 104 ), ExtResource( 116 ) ],
"frames": [ ExtResource( 114 ), ExtResource( 128 ), ExtResource( 93 ), ExtResource( 107 ), ExtResource( 117 ), ExtResource( 102 ), ExtResource( 81 ), ExtResource( 118 ), ExtResource( 76 ), ExtResource( 115 ), ExtResource( 127 ), ExtResource( 123 ), ExtResource( 113 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 124 ), ExtResource( 94 ), ExtResource( 112 ), ExtResource( 131 ), ExtResource( 95 ) ],
"loop": true,
"name": "move-speed-right-02",
"speed": 35.0
"name": "boost-speed-right-03",
"speed": 50.0
}, {
"frames": [ ExtResource( 70 ), ExtResource( 49 ), ExtResource( 74 ), ExtResource( 75 ), ExtResource( 28 ), ExtResource( 52 ), ExtResource( 53 ), ExtResource( 55 ), ExtResource( 150 ), ExtResource( 156 ), ExtResource( 138 ), ExtResource( 161 ), ExtResource( 145 ), ExtResource( 148 ), ExtResource( 147 ), ExtResource( 133 ), ExtResource( 164 ), ExtResource( 134 ), ExtResource( 152 ), ExtResource( 160 ) ],
"loop": true,
@ -252,21 +267,6 @@ animations = [ {
"loop": true,
"name": "boost-speed-right-02",
"speed": 50.0
}, {
"frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ],
"loop": true,
"name": "move-speed-left-01",
"speed": 35.0
}, {
"frames": [ ExtResource( 48 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 46 ), ExtResource( 47 ), ExtResource( 32 ), ExtResource( 13 ), ExtResource( 40 ), ExtResource( 6 ), ExtResource( 15 ), ExtResource( 22 ), ExtResource( 14 ), ExtResource( 9 ), ExtResource( 37 ), ExtResource( 23 ), ExtResource( 39 ), ExtResource( 20 ), ExtResource( 18 ), ExtResource( 7 ), ExtResource( 34 ) ],
"loop": true,
"name": "boost-speed-left-01",
"speed": 50.0
}, {
"frames": [ ExtResource( 114 ), ExtResource( 128 ), ExtResource( 93 ), ExtResource( 107 ), ExtResource( 117 ), ExtResource( 102 ), ExtResource( 81 ), ExtResource( 118 ), ExtResource( 76 ), ExtResource( 115 ), ExtResource( 127 ), ExtResource( 123 ), ExtResource( 113 ), ExtResource( 77 ), ExtResource( 78 ), ExtResource( 124 ), ExtResource( 94 ), ExtResource( 112 ), ExtResource( 131 ), ExtResource( 95 ) ],
"loop": true,
"name": "boost-speed-right-03",
"speed": 50.0
} ]
[sub_resource type="RectangleShape2D" id=3]
@ -299,7 +299,7 @@ radius = 41.5403
animations = [ {
"frames": [ ExtResource( 170 ) ],
"loop": true,
"name": "03",
"name": "02",
"speed": 5.0
}, {
"frames": [ ExtResource( 27 ) ],
@ -307,15 +307,15 @@ animations = [ {
"name": "01",
"speed": 5.0
}, {
"frames": [ ExtResource( 170 ) ],
"loop": true,
"name": "03",
"speed": 5.0
}, {
"frames": [ ExtResource( 169 ) ],
"loop": true,
"name": "04",
"speed": 5.0
}, {
"frames": [ ExtResource( 170 ) ],
"loop": true,
"name": "02",
"speed": 5.0
} ]
[node name="player" type="KinematicBody2D" groups=[

View File

@ -28,7 +28,7 @@ use_mipmaps = true
use_filter = true
font_data = ExtResource( 2 )
[node name="network_setup" type="Control"]
[node name="network_setup2" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource( 1 )

View File

@ -0,0 +1,26 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://source/assets/sprites/GUI/bar-background.png" type="Texture" id=1]
[ext_resource path="res://source/assets/sprites/GUI/bar-fill.png" type="Texture" id=2]
[ext_resource path="res://source/assets/scripts/ui_element_handlers/HUD.gd" type="Script" id=3]
[node name="HUD" type="Node2D" groups=[
"Net",
]]
script = ExtResource( 3 )
[node name="health_bar" type="TextureProgress" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -64.0
margin_top = -20.0
margin_right = 64.0
margin_bottom = 20.0
value = 100.0
texture_under = ExtResource( 1 )
texture_progress = ExtResource( 2 )
__meta__ = {
"_edit_use_anchors_": false
}