indicator for if sg is off the top of the screen

This commit is contained in:
pennyrigate 2023-10-30 12:32:37 -04:00
parent ae0e52f506
commit 8b1ccd366f
7 changed files with 127 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 B

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/off_level_indicator.png-57fb71ce33e59c157912e9700e4a98f6.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://graphics/hud/off_level_indicator.png"
dest_files=[ "res://.import/off_level_indicator.png-57fb71ce33e59c157912e9700e4a98f6.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
graphics/hud/sg_head.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/sg_head.png-0b64f276be1b8233fbd11dadbfae739a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://graphics/hud/sg_head.png"
dest_files=[ "res://.import/sg_head.png-0b64f276be1b8233fbd11dadbfae739a.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View file

@ -1,9 +1,13 @@
[gd_scene load_steps=2 format=2]
[gd_scene load_steps=3 format=2]
[ext_resource path="res://objects/camera.gd" type="Script" id=1]
[ext_resource path="res://objects/hud/off_level_indicator.tscn" type="PackedScene" id=2]
[node name="Camera2D" type="Camera2D"]
offset = Vector2( 128, 96 )
current = true
smoothing_speed = 8.0
script = ExtResource( 1 )
[node name="OffLevelIndicator" parent="." instance=ExtResource( 2 )]
position = Vector2( 0, 12 )

View file

@ -2,6 +2,7 @@ extends Camera2D
onready var player = get_tree().get_nodes_in_group("player").front()
onready var last_sector = Game.get_sector(player.global_position + Vector2(0.0, -5.0))
onready var off_level_indicator = $OffLevelIndicator
#Scroll direction
export var scroll_h = true
export var scroll_v = false
@ -16,7 +17,7 @@ func _process(delta):
if not is_instance_valid(player):
player = get_tree().get_nodes_in_group("player").pop_front()
else:
var current_sector = Game.get_sector(player.global_position + Vector2(0.0, 1.0))
var current_sector = Game.get_sector(player.global_position + Vector2(0.0, -5.0))
if scroll_h && current_sector.x != last_sector.x:
position.x = current_sector.x * Game.RESOLUTION.x
if respawn_h:
@ -27,3 +28,9 @@ func _process(delta):
position.y = current_sector.y * Game.RESOLUTION.y
last_sector.y = current_sector.y
Game.current_sector = last_sector
#Off level indicator
if player.global_position.y - global_position.y <= 16.0:
off_level_indicator.visible = true
off_level_indicator.global_position.x = player.global_position.x
else:
off_level_indicator.visible = false

View file

@ -0,0 +1,44 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=1]
[ext_resource path="res://graphics/player/palettes/default.png" type="Texture" id=2]
[ext_resource path="res://graphics/hud/off_level_indicator.png" type="Texture" id=3]
[ext_resource path="res://graphics/hud/sg_head.png" type="Texture" id=4]
[sub_resource type="ShaderMaterial" id=1]
shader = ExtResource( 1 )
shader_param/border_color = Color( 0, 0, 0, 1 )
shader_param/border_corners = true
shader_param/palette = ExtResource( 2 )
[sub_resource type="Animation" id=2]
resource_name = "wobble"
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Arrow:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.5, 1 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 5 ), Vector2( 1, 3 ), Vector2( 1, 5 ) ]
}
[node name="OffLevelIndicator" type="Node2D"]
z_index = 4096
[node name="Head" type="Sprite" parent="."]
material = SubResource( 1 )
position = Vector2( 0, 15 )
texture = ExtResource( 4 )
[node name="Arrow" type="Sprite" parent="."]
position = Vector2( 1, 3.0437 )
texture = ExtResource( 3 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "wobble"
anims/wobble = SubResource( 2 )