Tutorial 18.3 Player Stats with HP Label
This commit is contained in:
parent
24bc047855
commit
7713127e27
@ -4,8 +4,10 @@ export(int) var max_health = 1
|
||||
onready var health = max_health setget set_health
|
||||
|
||||
signal no_health
|
||||
signal health_changed(value)
|
||||
|
||||
func set_health(value):
|
||||
health = value
|
||||
emit_signal("health_changed", health)
|
||||
if health <= 0:
|
||||
emit_signal("no_health")
|
||||
|
19
ActionRPG-HeartBeast/UI/HealthUI.gd
Normal file
19
ActionRPG-HeartBeast/UI/HealthUI.gd
Normal file
@ -0,0 +1,19 @@
|
||||
extends Control
|
||||
|
||||
var hearts = 4 setget set_hearts
|
||||
var max_hearts = 4 setget set_max_hearts
|
||||
|
||||
onready var label = $Label
|
||||
|
||||
func set_hearts(value):
|
||||
hearts = clamp(value, 0, max_hearts)
|
||||
if label != null:
|
||||
label.text = "HP = " + str(hearts)
|
||||
|
||||
func set_max_hearts(value):
|
||||
max_hearts = max(value, 1)
|
||||
|
||||
func _ready():
|
||||
self.max_hearts = PlayerStats.max_health
|
||||
self.hearts = PlayerStats.health
|
||||
PlayerStats.connect("health_changed", self, "set_hearts")
|
13
ActionRPG-HeartBeast/UI/HealthUI.tscn
Normal file
13
ActionRPG-HeartBeast/UI/HealthUI.tscn
Normal file
@ -0,0 +1,13 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://UI/HealthUI.gd" type="Script" id=1]
|
||||
|
||||
[node name="HealthUI" type="Control"]
|
||||
margin_right = 122.0
|
||||
margin_bottom = 25.0
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
margin_right = 42.0
|
||||
margin_bottom = 14.0
|
||||
text = "HP = 4"
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=62 format=2]
|
||||
[gd_scene load_steps=63 format=2]
|
||||
|
||||
[ext_resource path="res://World/Bush.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://Player/Player.tscn" type="PackedScene" id=2]
|
||||
@ -8,6 +8,7 @@
|
||||
[ext_resource path="res://World/Grass.tscn" type="PackedScene" id=6]
|
||||
[ext_resource path="res://touch_controls/TouchControls.tscn" type="PackedScene" id=7]
|
||||
[ext_resource path="res://Enemies/Bat.tscn" type="PackedScene" id=8]
|
||||
[ext_resource path="res://UI/HealthUI.tscn" type="PackedScene" id=9]
|
||||
|
||||
[sub_resource type="TileSet" id=1]
|
||||
0/name = "DirtTileset.png 0"
|
||||
@ -608,3 +609,5 @@ margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
|
||||
[node name="TouchControls" parent="Control" instance=ExtResource( 7 )]
|
||||
|
||||
[node name="HealthUI" parent="." instance=ExtResource( 9 )]
|
||||
|
Loading…
Reference in New Issue
Block a user