Switch HUD into player scene

This commit is contained in:
Victor Turgeon 2022-10-11 13:48:59 -04:00
parent 0a352364d6
commit dce110a9b3
4 changed files with 141 additions and 127 deletions

134
HUD.tscn Normal file
View File

@ -0,0 +1,134 @@
[gd_scene load_steps=11 format=2]
[ext_resource path="res://SlapGauge.gd" type="Script" id=1]
[ext_resource path="res://Title Timer.gd" type="Script" id=2]
[ext_resource path="res://fonts/TorontoSubwayRegular.ttf" type="DynamicFontData" id=3]
[sub_resource type="DynamicFont" id=7]
size = 88
outline_size = 5
outline_color = Color( 0, 0, 0, 1 )
use_filter = true
font_data = ExtResource( 3 )
[sub_resource type="DynamicFont" id=4]
size = 19
outline_size = 2
outline_color = Color( 0, 0, 0, 1 )
use_mipmaps = true
use_filter = true
font_data = ExtResource( 3 )
[sub_resource type="Theme" id=8]
default_font = SubResource( 4 )
[sub_resource type="DynamicFont" id=9]
size = 19
outline_size = 2
outline_color = Color( 0, 0, 0, 1 )
use_mipmaps = true
use_filter = true
font_data = ExtResource( 3 )
[sub_resource type="Theme" id=10]
default_font = SubResource( 9 )
[sub_resource type="Shader" id=6]
code = "shader_type canvas_item;
render_mode unshaded;
uniform float fill;
uniform float kill;
uniform vec4 bkgcol = vec4(0.0, 0.0, 0.0, 0.3);
uniform vec4 kilcol = vec4(0.5, 0.0, 0.0, 0.3);
void fragment() {
bool is = false;
if (fill >= UV.x) {
COLOR = vec4(UV.x,-UV.x + .5,-UV.x + 1.0,1.0);
COLOR.rgb *= vec3(cos(UV.y * 2.0) / 1.5,cos(UV.y * 2.0) / 1.5,cos(UV.y * 2.0) / 1.5);
is = true;
if (kill >= UV.x)
COLOR.rgb += vec3(0.1,0.1,0.1);
}
else if (UV.x > kill + 0.001)
COLOR = kilcol;
else COLOR = bkgcol;
if ((UV.y < .2 || UV.y > 0.8) && (UV.x > kill + 0.001 || UV.x < kill - 0.001) && !is)
COLOR.a = 0.05;
}"
[sub_resource type="ShaderMaterial" id=11]
shader = SubResource( 6 )
shader_param/fill = 0.0
shader_param/kill = null
shader_param/bkgcol = Plane( 0, 0, 0, 0.3 )
shader_param/kilcol = Plane( 0.5, 0, 0, 0.3 )
[node name="HUD" type="CanvasLayer"]
[node name="Start" type="Control" parent="."]
visible = false
margin_right = 40.0
margin_bottom = 40.0
[node name="Title" type="Label" parent="Start"]
anchor_left = 12.9
anchor_top = 7.625
anchor_right = 12.9
anchor_bottom = 7.625
margin_left = -439.0
margin_top = -54.0
margin_right = 443.0
margin_bottom = 48.0
custom_fonts/font = SubResource( 7 )
text = "FIRST PERSON SLAPPER"
[node name="Title Timer" type="Timer" parent="Start"]
one_shot = true
script = ExtResource( 2 )
[node name="New Game" type="Button" parent="Start"]
anchor_left = 12.85
anchor_top = 10.525
anchor_right = 12.85
anchor_bottom = 10.525
margin_left = -67.0
margin_top = -20.0
margin_right = 70.0
margin_bottom = 16.0
theme = SubResource( 8 )
text = "New Game"
[node name="ActualHUD" type="Control" parent="."]
margin_right = 40.0
margin_bottom = 40.0
theme = SubResource( 10 )
[node name="SlapGauge" type="ColorRect" parent="ActualHUD"]
material = SubResource( 11 )
anchor_left = 12.875
anchor_top = 7.625
anchor_right = 12.875
anchor_bottom = 7.625
margin_left = -451.0
margin_top = 218.0
margin_right = -161.0
margin_bottom = 241.0
script = ExtResource( 1 )
[node name="SlapLabel" type="Label" parent="ActualHUD"]
modulate = Color( 1, 1, 1, 0.611765 )
anchor_left = 12.662
anchor_top = 7.324
anchor_right = 12.662
anchor_bottom = 7.324
margin_left = -436.48
margin_top = 229.04
margin_right = -325.48
margin_bottom = 261.04
text = "Slap"

View File

@ -23,6 +23,7 @@ var gravity_vec = Vector3()
onready var head = $Head onready var head = $Head
onready var ground_check = $GroundCheck onready var ground_check = $GroundCheck
onready var SlapGauge = $HUD/ActualHUD/SlapGauge
func _ready(): func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
@ -81,7 +82,7 @@ func _physics_process(delta):
else: else:
slap -= delta * 8.0; slap -= delta * 8.0;
slap = clamp(slap, 0.0, 1.0) slap = clamp(slap, 0.0, 1.0)
get_node("/root/Spatial/HUD/ActualHUD/SlapGauge").fill = slap; SlapGauge.fill = slap;
direction = direction.normalized() direction = direction.normalized()

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=7 format=2] [gd_scene load_steps=8 format=2]
[ext_resource path="res://Player.gd" type="Script" id=1] [ext_resource path="res://Player.gd" type="Script" id=1]
[ext_resource path="res://BlenderStuff/Hand/protohand.obj" type="ArrayMesh" id=2] [ext_resource path="res://BlenderStuff/Hand/protohand.obj" type="ArrayMesh" id=2]
[ext_resource path="res://Textures/kenney_prototype_textures/purple/texture_01.png" type="Texture" id=3] [ext_resource path="res://Textures/kenney_prototype_textures/purple/texture_01.png" type="Texture" id=3]
[ext_resource path="res://HUD.tscn" type="PackedScene" id=4]
[sub_resource type="CapsuleShape" id=2] [sub_resource type="CapsuleShape" id=2]
height = 3.0 height = 3.0
@ -41,3 +42,5 @@ material/0 = SubResource( 4 )
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2, 0 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2, 0 )
enabled = true enabled = true
cast_to = Vector3( 0, -1.5, 0 ) cast_to = Vector3( 0, -1.5, 0 )
[node name="HUD" parent="." instance=ExtResource( 4 )]

View File

@ -1,12 +1,9 @@
[gd_scene load_steps=15 format=2] [gd_scene load_steps=7 format=2]
[ext_resource path="res://Materials/Dark_ProtoMat.tres" type="Material" id=1] [ext_resource path="res://Materials/Dark_ProtoMat.tres" type="Material" id=1]
[ext_resource path="res://Player.tscn" type="PackedScene" id=2] [ext_resource path="res://Player.tscn" type="PackedScene" id=2]
[ext_resource path="res://Materials/Orange_ProtoMat.tres" type="Material" id=3] [ext_resource path="res://Materials/Orange_ProtoMat.tres" type="Material" id=3]
[ext_resource path="res://AllSkyFree_Skyboxes/Epic_BlueSunset_EquiRect_flat.png" type="Texture" id=4] [ext_resource path="res://AllSkyFree_Skyboxes/Epic_BlueSunset_EquiRect_flat.png" type="Texture" id=4]
[ext_resource path="res://Title Timer.gd" type="Script" id=5]
[ext_resource path="res://fonts/TorontoSubwayRegular.ttf" type="DynamicFontData" id=6]
[ext_resource path="res://SlapGauge.gd" type="Script" id=7]
[sub_resource type="PanoramaSky" id=1] [sub_resource type="PanoramaSky" id=1]
panorama = ExtResource( 4 ) panorama = ExtResource( 4 )
@ -41,60 +38,6 @@ glow_bloom = 0.02
glow_hdr_threshold = 0.44 glow_hdr_threshold = 0.44
glow_bicubic_upscale = true glow_bicubic_upscale = true
[sub_resource type="DynamicFont" id=3]
size = 88
outline_size = 5
outline_color = Color( 0, 0, 0, 1 )
use_filter = true
font_data = ExtResource( 6 )
[sub_resource type="DynamicFont" id=4]
size = 19
outline_size = 2
outline_color = Color( 0, 0, 0, 1 )
use_mipmaps = true
use_filter = true
font_data = ExtResource( 6 )
[sub_resource type="Theme" id=5]
default_font = SubResource( 4 )
[sub_resource type="Shader" id=6]
code = "shader_type canvas_item;
render_mode unshaded;
uniform float fill;
uniform float kill;
uniform vec4 bkgcol = vec4(0.0, 0.0, 0.0, 0.3);
uniform vec4 kilcol = vec4(0.5, 0.0, 0.0, 0.3);
void fragment() {
bool is = false;
if (fill >= UV.x) {
COLOR = vec4(UV.x,-UV.x + .5,-UV.x + 1.0,1.0);
COLOR.rgb *= vec3(cos(UV.y * 2.0) / 1.5,cos(UV.y * 2.0) / 1.5,cos(UV.y * 2.0) / 1.5);
is = true;
if (kill >= UV.x)
COLOR.rgb += vec3(0.1,0.1,0.1);
}
else if (UV.x > kill + 0.001)
COLOR = kilcol;
else COLOR = bkgcol;
if ((UV.y < .2 || UV.y > 0.8) && (UV.x > kill + 0.001 || UV.x < kill - 0.001) && !is)
COLOR.a = 0.05;
}"
[sub_resource type="ShaderMaterial" id=7]
shader = SubResource( 6 )
shader_param/fill = 0.0
shader_param/kill = null
shader_param/bkgcol = Plane( 0, 0, 0, 0.3 )
shader_param/kilcol = Plane( 0.5, 0, 0, 0.3 )
[node name="Spatial" type="Spatial"] [node name="Spatial" type="Spatial"]
[node name="CSGCombiner" type="CSGCombiner" parent="."] [node name="CSGCombiner" type="CSGCombiner" parent="."]
@ -122,70 +65,3 @@ transform = Transform( 1, 0, 0, 0, 0.849579, 0.527461, 0, -0.527461, 0.849579, 0
light_color = Color( 1, 0.924276, 0.869018, 1 ) light_color = Color( 1, 0.924276, 0.869018, 1 )
light_specular = 1.0 light_specular = 1.0
shadow_enabled = true shadow_enabled = true
[node name="HUD" type="CanvasLayer" parent="."]
__meta__ = {
"_editor_description_": "Heads Up Display"
}
[node name="Start" type="Control" parent="HUD"]
visible = false
margin_right = 40.0
margin_bottom = 40.0
[node name="Title" type="Label" parent="HUD/Start"]
anchor_left = 12.9
anchor_top = 7.625
anchor_right = 12.9
anchor_bottom = 7.625
margin_left = -439.0
margin_top = -54.0
margin_right = 443.0
margin_bottom = 48.0
custom_fonts/font = SubResource( 3 )
text = "FIRST PERSON SLAPPER"
[node name="Title Timer" type="Timer" parent="HUD/Start"]
one_shot = true
script = ExtResource( 5 )
[node name="New Game" type="Button" parent="HUD/Start"]
anchor_left = 12.85
anchor_top = 10.525
anchor_right = 12.85
anchor_bottom = 10.525
margin_left = -67.0
margin_top = -20.0
margin_right = 70.0
margin_bottom = 16.0
theme = SubResource( 5 )
text = "New Game"
[node name="ActualHUD" type="Control" parent="HUD"]
margin_right = 40.0
margin_bottom = 40.0
theme = SubResource( 5 )
[node name="SlapGauge" type="ColorRect" parent="HUD/ActualHUD"]
material = SubResource( 7 )
anchor_left = 12.875
anchor_top = 7.625
anchor_right = 12.875
anchor_bottom = 7.625
margin_left = -451.0
margin_top = 218.0
margin_right = -161.0
margin_bottom = 241.0
script = ExtResource( 7 )
[node name="SlapLabel" type="Label" parent="HUD/ActualHUD"]
modulate = Color( 1, 1, 1, 0.611765 )
anchor_left = 12.662
anchor_top = 7.324
anchor_right = 12.662
anchor_bottom = 7.324
margin_left = -436.48
margin_top = 229.04
margin_right = -325.48
margin_bottom = 261.04
text = "Slap"