forked from team-sg/hero-mark-2
indicator for if sg is off the top of the screen
This commit is contained in:
parent
ae0e52f506
commit
8b1ccd366f
7 changed files with 127 additions and 2 deletions
|
@ -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 )
|
||||
|
|
|
@ -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
|
||||
|
|
44
objects/hud/off_level_indicator.tscn
Normal file
44
objects/hud/off_level_indicator.tscn
Normal 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 )
|
Loading…
Add table
Add a link
Reference in a new issue