boss variant of hud

This commit is contained in:
Haze Weathers 2024-02-27 20:04:51 -05:00
parent 3693b99bfc
commit 39fdf11807
4 changed files with 279 additions and 4 deletions

View file

@ -5,7 +5,7 @@
[ext_resource path="res://graphics/backgrounds/mountain_clouds.png" type="Texture" id=3] [ext_resource path="res://graphics/backgrounds/mountain_clouds.png" type="Texture" id=3]
[ext_resource path="res://graphics/backgrounds/mountain_sunset.png" type="Texture" id=4] [ext_resource path="res://graphics/backgrounds/mountain_sunset.png" type="Texture" id=4]
[ext_resource path="res://tilesets/t_mountain.tres" type="TileSet" id=5] [ext_resource path="res://tilesets/t_mountain.tres" type="TileSet" id=5]
[ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=6] [ext_resource path="res://objects/hud/hud_boss.tscn" type="PackedScene" id=6]
[ext_resource path="res://maps/boss/boss1_arena.gd" type="Script" id=7] [ext_resource path="res://maps/boss/boss1_arena.gd" type="Script" id=7]
[ext_resource path="res://objects/collectibles/arrow.tscn" type="PackedScene" id=8] [ext_resource path="res://objects/collectibles/arrow.tscn" type="PackedScene" id=8]
[ext_resource path="res://objects/environment/turniwood/turning_platform.tscn" type="PackedScene" id=9] [ext_resource path="res://objects/environment/turniwood/turning_platform.tscn" type="PackedScene" id=9]
@ -23,7 +23,7 @@ script = ExtResource( 7 )
music = ExtResource( 11 ) music = ExtResource( 11 )
lore_entries = [ ExtResource( 16 ) ] lore_entries = [ ExtResource( 16 ) ]
[node name="HUD" parent="." instance=ExtResource( 6 )] [node name="BossHUD" parent="." instance=ExtResource( 6 )]
song_name = "♫Klystron" song_name = "♫Klystron"
[node name="Sprite" type="Sprite" parent="."] [node name="Sprite" type="Sprite" parent="."]

View file

@ -5,7 +5,7 @@
[ext_resource path="res://objects/environment/falling_block/falling_block_lab.tscn" type="PackedScene" id=3] [ext_resource path="res://objects/environment/falling_block/falling_block_lab.tscn" type="PackedScene" id=3]
[ext_resource path="res://graphics/backgrounds/factory.png" type="Texture" id=4] [ext_resource path="res://graphics/backgrounds/factory.png" type="Texture" id=4]
[ext_resource path="res://maps/boss/boss2_arena.gd" type="Script" id=5] [ext_resource path="res://maps/boss/boss2_arena.gd" type="Script" id=5]
[ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=6] [ext_resource path="res://objects/hud/hud_boss.tscn" type="PackedScene" id=6]
[ext_resource path="res://audio/music/klystron_vip.ogg" type="AudioStream" id=7] [ext_resource path="res://audio/music/klystron_vip.ogg" type="AudioStream" id=7]
[ext_resource path="res://objects/collectibles/arrow.tscn" type="PackedScene" id=8] [ext_resource path="res://objects/collectibles/arrow.tscn" type="PackedScene" id=8]
[ext_resource path="res://shaders/can_stain.tres" type="Material" id=9] [ext_resource path="res://shaders/can_stain.tres" type="Material" id=9]
@ -24,7 +24,7 @@ script = ExtResource( 5 )
music = ExtResource( 7 ) music = ExtResource( 7 )
lore_entries = [ ExtResource( 17 ), ExtResource( 11 ) ] lore_entries = [ ExtResource( 17 ), ExtResource( 11 ) ]
[node name="HUD" parent="." instance=ExtResource( 6 )] [node name="BossHUD" parent="." instance=ExtResource( 6 )]
song_name = "♫Klystron VIP" song_name = "♫Klystron VIP"
[node name="Sprite" type="Sprite" parent="."] [node name="Sprite" type="Sprite" parent="."]

83
objects/hud/hud_boss.gd Normal file
View file

@ -0,0 +1,83 @@
extends CanvasLayer
onready var gold_counter = $GoldCounter
onready var shard_counter = $ShardCounter
onready var red_star = $RedStar
onready var yellow_star = $YellowStar
onready var green_star = $GreenStar
onready var blue_star = $BlueStar
onready var magenta_star = $MagentaStar
onready var score_counter = $ScoreCounter
onready var arrow_counter = $ArrowCounter
onready var lives_counter = $LivesCounter
onready var high_counter = $HighCounter
onready var time_counter = $TimeCounter
onready var oxygen = $Oxygen
onready var oxygen_meter = $Oxygen/OxygenMeter
export var song_name = "♫Music"
export (Color) var bonus_color
func _ready():
#Change graphics depending on if lives are on
if Game.use_lives:
$LivesHead.visible = true
else:
$DeathsHead.visible = true
#Change text to song name
var music = $Music
music.text = song_name
yield(get_tree(), "idle_frame")
var tween = create_tween()
tween.tween_property(music, "rect_position:x", 254.0 - music.rect_size.x, 1.0)
tween.tween_interval(3.0)
tween.tween_property(music, "rect_position:x", 256.0, 1.0)
#Fixes frame 1 2 deaths counter
if Game.use_lives == false:
lives_counter.text = str(Game.deaths)
#Show oxygen meter when underwater
# var player = get_tree().get_nodes_in_group("player").pop_back()
# if player.underwater == true: oxygen.visible = true
func shard_popup(shard_number):
#Change text to song name
var shard_title = $ShardTitle
var level = LevelData.levels[Game.current_level]
shard_title.text = "§" + str(level.shard_titles[shard_number])
yield(get_tree(), "idle_frame")
var tween = create_tween()
tween.tween_property(shard_title, "rect_position:x", 254.0 - shard_title.rect_size.x, 1.0)
tween.tween_interval(3.0)
tween.tween_property(shard_title, "rect_position:x", 256.0, 1.0)
func _physics_process(delta):
#Star Counter
red_star.visible = Game.stars_collected[0]
yellow_star.visible = Game.stars_collected[1]
green_star.visible = Game.stars_collected[2]
blue_star.visible = Game.stars_collected[3]
magenta_star.visible = Game.stars_collected[4]
#Arrow Counter
arrow_counter.text = str(Game.arrows)
##TOUCH UP LATER
#Lives counter
if Game.use_lives:
lives_counter.text = str(Game.lives)
else:
lives_counter.text = str(Game.deaths)
#Life bonus color
if Game.lives == 2:
lives_counter.modulate = bonus_color
else:
lives_counter.modulate = Color.white
##Timer
time_counter.text = Game.format_time(Game.time)
#Time bonus counter
if (Game.has_collection_bonus() && Game.time <= Game.get_map().target_time_100) or (!Game.has_collection_bonus() && Game.time <= Game.get_map().target_time_any):
time_counter.modulate = bonus_color
else:
time_counter.modulate = Color.white
# #Oxygen meter
# var player = get_tree().get_nodes_in_group("player").pop_back()
# oxygen_meter.scale.x = player.oxygen_timer.time_left
#if oxygen_meter.scale.x > 15: oxygen_meter.scale.x = 15

192
objects/hud/hud_boss.tscn Normal file
View file

@ -0,0 +1,192 @@
[gd_scene load_steps=16 format=2]
[ext_resource path="res://graphics/hud/stars_hud.png" type="Texture" id=1]
[ext_resource path="res://graphics/hud/lives_head.png" type="Texture" id=2]
[ext_resource path="res://graphics/hud/hud.png" type="Texture" id=3]
[ext_resource path="res://graphics/hud/deaths_head.png" type="Texture" id=4]
[ext_resource path="res://graphics/hud/gold_counter.png" type="Texture" id=5]
[ext_resource path="res://objects/hud/hud_boss.gd" type="Script" id=6]
[ext_resource path="res://graphics/hud/key_counter.png" type="Texture" id=7]
[ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=8]
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=9]
[ext_resource path="res://ui/theme.tres" type="Theme" id=10]
[ext_resource path="res://graphics/hud/oxygen.png" type="Texture" id=11]
[ext_resource path="res://graphics/hud/oxygen_meter.png" type="Texture" id=12]
[sub_resource type="ShaderMaterial" id=1]
[sub_resource type="ShaderMaterial" id=2]
[sub_resource type="ShaderMaterial" id=3]
shader = ExtResource( 9 )
shader_param/border_color = Color( 0.219608, 0.219608, 0.219608, 1 )
shader_param/border_corners = true
[node name="BossHUD" type="CanvasLayer" groups=["hud"]]
layer = 100
script = ExtResource( 6 )
bonus_color = Color( 0.478431, 1, 0.47451, 1 )
[node name="Back" type="Sprite" parent="."]
position = Vector2( 128, 96 )
texture = ExtResource( 3 )
[node name="GoldCounter" type="Label" parent="."]
modulate = Color( 0.690196, 0.690196, 0.690196, 1 )
margin_left = 12.0
margin_top = 1.0
margin_right = 26.0
margin_bottom = 11.0
theme = ExtResource( 10 )
text = "--"
[node name="ShardCounter" type="Label" parent="."]
modulate = Color( 0.690196, 0.690196, 0.690196, 1 )
margin_left = 41.0
margin_top = 1.0
margin_right = 48.0
margin_bottom = 11.0
theme = ExtResource( 10 )
text = "-"
[node name="Gold" type="Sprite" parent="."]
visible = false
position = Vector2( 8, 6 )
texture = ExtResource( 5 )
[node name="Key" type="Sprite" parent="."]
position = Vector2( 9, 6 )
texture = ExtResource( 7 )
[node name="RedStar" type="Sprite" parent="."]
visible = false
material = SubResource( 1 )
position = Vector2( 83, 6 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 0, 0, 8, 8 )
[node name="YellowStar" type="Sprite" parent="."]
visible = false
material = SubResource( 2 )
position = Vector2( 93, 6 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 8, 0, 8, 8 )
[node name="GreenStar" type="Sprite" parent="."]
visible = false
position = Vector2( 103, 6 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 16, 0, 8, 8 )
[node name="BlueStar" type="Sprite" parent="."]
visible = false
position = Vector2( 113, 6 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 24, 0, 8, 8 )
[node name="MagentaStar" type="Sprite" parent="."]
visible = false
position = Vector2( 123, 6 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 32, 0, 8, 8 )
[node name="LivesHead" type="Sprite" parent="."]
visible = false
position = Vector2( 234, 6 )
texture = ExtResource( 2 )
[node name="DeathsHead" type="Sprite" parent="."]
visible = false
position = Vector2( 236, 6 )
texture = ExtResource( 4 )
[node name="ScoreText" type="Label" parent="."]
margin_left = 137.0
margin_top = 1.0
margin_right = 221.0
margin_bottom = 11.0
theme = ExtResource( 10 )
text = "SCORE:"
[node name="ScoreCounter" type="Label" parent="."]
modulate = Color( 0.690196, 0.690196, 0.690196, 1 )
margin_left = 179.0
margin_top = 1.0
margin_right = 214.0
margin_bottom = 11.0
theme = ExtResource( 10 )
text = "-----"
[node name="HighCounter" type="Label" parent="."]
visible = false
margin_left = 178.0
margin_top = 179.0
margin_right = 262.0
margin_bottom = 199.0
theme = ExtResource( 10 )
text = "High:000000"
[node name="LivesCounter" type="Label" parent="."]
modulate = Color( 0.478431, 1, 0.47451, 1 )
margin_left = 240.0
margin_top = 1.0
margin_right = 247.0
margin_bottom = 11.0
theme = ExtResource( 10 )
text = "2"
[node name="ArrowCounter" type="Label" parent="."]
margin_left = 61.0
margin_top = 1.0
margin_right = 68.0
margin_bottom = 11.0
theme = ExtResource( 10 )
text = "0"
[node name="TimeCounter" type="Label" parent="."]
modulate = Color( 0.478431, 1, 0.47451, 1 )
margin_left = 1.0
margin_top = 181.0
margin_right = 50.0
margin_bottom = 191.0
theme = ExtResource( 10 )
text = "00:00:00"
[node name="Music" type="Label" parent="."]
material = ExtResource( 8 )
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
margin_top = -10.0
margin_right = 42.0
theme = ExtResource( 10 )
text = "♫Music"
align = 2
[node name="ShardTitle" type="Label" parent="."]
material = SubResource( 3 )
margin_left = 256.0
margin_top = 182.0
margin_right = 333.0
margin_bottom = 192.0
theme = ExtResource( 10 )
text = "§time bonus"
align = 2
[node name="Oxygen" type="Sprite" parent="."]
visible = false
position = Vector2( 16, 18 )
texture = ExtResource( 11 )
[node name="OxygenMeter" type="Sprite" parent="Oxygen"]
position = Vector2( -2, -1 )
rotation = 3.14159
scale = Vector2( 15, 1 )
texture = ExtResource( 12 )
flip_v = true