hud 玩家状态 功能
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 986 B After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 366 B |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://comp54dje0355"
|
||||||
|
path="res://.godot/imported/player_status_background.png-5644ebc433e0259007ab6bf047c17f10.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resource/ui/hud/player_status_background.png"
|
||||||
|
dest_files=["res://.godot/imported/player_status_background.png-5644ebc433e0259007ab6bf047c17f10.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=0
|
||||||
|
compress/normal_map=2
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
|
After Width: | Height: | Size: 194 B |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://0f3lam5c3k0y"
|
||||||
|
path="res://.godot/imported/player_status_hp.png-02819a40f14f321ad5477a8f7d52edb7.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resource/ui/hud/player_status_hp.png"
|
||||||
|
dest_files=["res://.godot/imported/player_status_hp.png-02819a40f14f321ad5477a8f7d52edb7.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=0
|
||||||
|
compress/normal_map=2
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
|
After Width: | Height: | Size: 192 B |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bxrpivq41rp23"
|
||||||
|
path="res://.godot/imported/player_status_hp_empty.png-5383a3aaf00852977e601542ed12dfe7.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resource/ui/hud/player_status_hp_empty.png"
|
||||||
|
dest_files=["res://.godot/imported/player_status_hp_empty.png-5383a3aaf00852977e601542ed12dfe7.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=0
|
||||||
|
compress/normal_map=2
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
|
After Width: | Height: | Size: 141 B |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c7jpfbmidpu5c"
|
||||||
|
path="res://.godot/imported/player_status_mp.png-665bd4e1d5d930efc36d4afc9621d448.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resource/ui/hud/player_status_mp.png"
|
||||||
|
dest_files=["res://.godot/imported/player_status_mp.png-665bd4e1d5d930efc36d4afc9621d448.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=0
|
||||||
|
compress/normal_map=2
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
|
After Width: | Height: | Size: 134 B |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://g1fx6txgghiu"
|
||||||
|
path="res://.godot/imported/player_status_mp_empty.png-b25dc0e66acd0e43b8cf2a91da0717d7.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resource/ui/hud/player_status_mp_empty.png"
|
||||||
|
dest_files=["res://.godot/imported/player_status_mp_empty.png-b25dc0e66acd0e43b8cf2a91da0717d7.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=0
|
||||||
|
compress/normal_map=2
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
|
After Width: | Height: | Size: 133 B |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bvuv86ujfaqfx"
|
||||||
|
path="res://.godot/imported/player_status_mp_sub.png-97f6eacd78be615d6f67522b2ef81539.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resource/ui/hud/player_status_mp_sub.png"
|
||||||
|
dest_files=["res://.godot/imported/player_status_mp_sub.png-97f6eacd78be615d6f67522b2ef81539.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=0
|
||||||
|
compress/normal_map=2
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
|
After Width: | Height: | Size: 131 B |
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://g4b4cjfdaxsx"
|
||||||
|
path="res://.godot/imported/player_status_mp_sub_empty.png-d706c11381c262f25fe60ff3258d7221.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resource/ui/hud/player_status_mp_sub_empty.png"
|
||||||
|
dest_files=["res://.godot/imported/player_status_mp_sub_empty.png-d706c11381c262f25fe60ff3258d7221.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=0
|
||||||
|
compress/normal_map=2
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=0
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://darpu7kmey2vs"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c7jpfbmidpu5c" path="res://resource/ui/hud/player_status_mp.png" id="1_6yn2y"]
|
||||||
|
[ext_resource type="Script" path="res://script/ui/hud/mp_item_sub.gd" id="2_ps8dg"]
|
||||||
|
|
||||||
|
[node name="MpItem" type="TextureRect"]
|
||||||
|
texture = ExtResource("1_6yn2y")
|
||||||
|
script = ExtResource("2_ps8dg")
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
extends TextureRect
|
||||||
|
class_name MpItemSub
|
||||||
|
|
||||||
|
@onready var mp_icon = preload("res://resource/ui/hud/player_status_mp.png") as Texture2D
|
||||||
|
@onready var mp_icon_empty = preload("res://resource/ui/hud/player_status_mp_empty.png") as Texture2D
|
||||||
|
|
||||||
|
func set_active(is_active:bool):
|
||||||
|
texture = mp_icon if is_active else mp_icon_empty
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var mp_scene = preload("res://scene/ui/item/mp_item.tscn")
|
||||||
|
|
||||||
|
@onready var hp_bar = $HpBar as TextureProgressBar
|
||||||
|
@onready var mp_sub_bar = $MpSubBar as TextureProgressBar
|
||||||
|
@onready var mp_list = $MpList as HBoxContainer
|
||||||
|
|
||||||
|
func on_hp_max_changed(value:float):
|
||||||
|
hp_bar.max_value = value
|
||||||
|
|
||||||
|
func on_hp_changed(value:float):
|
||||||
|
hp_bar.value = value
|
||||||
|
|
||||||
|
func on_mp_sub_max_changed(value:float):
|
||||||
|
mp_sub_bar.max_value = value
|
||||||
|
|
||||||
|
func on_mp_sub_changed(value:float):
|
||||||
|
mp_sub_bar.value = value
|
||||||
|
|
||||||
|
func on_mp_max_changed(value:int):
|
||||||
|
for child in mp_list.get_children():
|
||||||
|
child.queue_free()
|
||||||
|
for i in range(value):
|
||||||
|
var mp_item = mp_scene.instantiate() as MpItemSub
|
||||||
|
mp_list.add_child(mp_item)
|
||||||
|
|
||||||
|
func on_mp_changed(value:int):
|
||||||
|
for i in range(mp_list.get_child_count()):
|
||||||
|
var mp_item = mp_list.get_child(i) as MpItemSub
|
||||||
|
mp_item.set_active(i<value)
|
||||||