forked from team-sg/hero-mark-2
msx off level indicator
This commit is contained in:
parent
403924d210
commit
a07d929c4c
7 changed files with 48 additions and 3 deletions
BIN
audio/sounds/msx_come_here.ogg
Normal file
BIN
audio/sounds/msx_come_here.ogg
Normal file
Binary file not shown.
|
@ -1,7 +1,8 @@
|
||||||
[gd_scene load_steps=3 format=2]
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://objects/camera.gd" type="Script" id=1]
|
[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]
|
[ext_resource path="res://objects/hud/off_level_indicator.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://objects/hud/msx_off_level_indicator.tscn" type="PackedScene" id=3]
|
||||||
|
|
||||||
[node name="Camera2D" type="Camera2D"]
|
[node name="Camera2D" type="Camera2D"]
|
||||||
offset = Vector2( 128, 96 )
|
offset = Vector2( 128, 96 )
|
||||||
|
@ -12,3 +13,7 @@ script = ExtResource( 1 )
|
||||||
[node name="OffLevelIndicator" parent="." instance=ExtResource( 2 )]
|
[node name="OffLevelIndicator" parent="." instance=ExtResource( 2 )]
|
||||||
visible = false
|
visible = false
|
||||||
position = Vector2( 0, 12 )
|
position = Vector2( 0, 12 )
|
||||||
|
|
||||||
|
[node name="MsxOffLevelIndicator" parent="." instance=ExtResource( 3 )]
|
||||||
|
visible = false
|
||||||
|
position = Vector2( 16, 32 )
|
||||||
|
|
|
@ -3,14 +3,20 @@ extends Camera2D
|
||||||
onready var player = get_tree().get_nodes_in_group("player").front()
|
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 last_sector = Game.get_sector(player.global_position + Vector2(0.0, -5.0))
|
||||||
onready var off_level_indicator = $OffLevelIndicator
|
onready var off_level_indicator = $OffLevelIndicator
|
||||||
|
onready var msx_off_level_indicator = $MsxOffLevelIndicator
|
||||||
#Scroll direction
|
#Scroll direction
|
||||||
export var scroll_h = true
|
export var scroll_h = true
|
||||||
export var scroll_v = false
|
export var scroll_v = false
|
||||||
export var respawn_h = true
|
export var respawn_h = true
|
||||||
|
var msx = null
|
||||||
|
var msx_exists = false
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_as_toplevel(true)
|
set_as_toplevel(true)
|
||||||
Game.current_sector = last_sector
|
Game.current_sector = last_sector
|
||||||
|
if get_tree().get_nodes_in_group("msx").size() > 0:
|
||||||
|
msx = get_tree().get_nodes_in_group("msx").pop_front()
|
||||||
|
msx_exists = true
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
# use pop_front() instead of [0] so that will not crash without player
|
# use pop_front() instead of [0] so that will not crash without player
|
||||||
|
@ -34,3 +40,18 @@ func _process(delta):
|
||||||
off_level_indicator.global_position.x = player.global_position.x
|
off_level_indicator.global_position.x = player.global_position.x
|
||||||
else:
|
else:
|
||||||
off_level_indicator.visible = false
|
off_level_indicator.visible = false
|
||||||
|
#Ms.X off level indicator
|
||||||
|
if msx_exists && is_instance_valid(msx):
|
||||||
|
if msx.get_parent().is_free:
|
||||||
|
msx_off_level_indicator.visible = true
|
||||||
|
var msx_sector = Game.get_sector(msx.global_position)
|
||||||
|
if msx_sector == current_sector:
|
||||||
|
msx_off_level_indicator.anims.play("onscreen")
|
||||||
|
if msx_sector < current_sector:
|
||||||
|
msx_off_level_indicator.position.y = msx.global_position.y
|
||||||
|
msx_off_level_indicator.position.x = 16
|
||||||
|
msx_off_level_indicator.anims.play("left")
|
||||||
|
if msx_sector > current_sector:
|
||||||
|
msx_off_level_indicator.position.y = msx.global_position.y
|
||||||
|
msx_off_level_indicator.position.x = 240
|
||||||
|
msx_off_level_indicator.anims.play("right")
|
||||||
|
|
3
objects/hud/msx_off_level_indicator.gd
Normal file
3
objects/hud/msx_off_level_indicator.gd
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
extends Node2D
|
||||||
|
|
||||||
|
onready var anims = $AnimationPlayer
|
|
@ -1,7 +1,8 @@
|
||||||
[gd_scene load_steps=7 format=2]
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://graphics/hud/off_level_indicator.png" type="Texture" id=1]
|
[ext_resource path="res://graphics/hud/off_level_indicator.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://graphics/hud/msx_head.png" type="Texture" id=2]
|
[ext_resource path="res://graphics/hud/msx_head.png" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://objects/hud/msx_off_level_indicator.gd" type="Script" id=3]
|
||||||
|
|
||||||
[sub_resource type="Animation" id=2]
|
[sub_resource type="Animation" id=2]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
|
@ -186,6 +187,7 @@ tracks/3/keys = {
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="MsxOffLevelIndicator" type="Node2D"]
|
[node name="MsxOffLevelIndicator" type="Node2D"]
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
|
||||||
[node name="Head" type="Sprite" parent="."]
|
[node name="Head" type="Sprite" parent="."]
|
||||||
visible = false
|
visible = false
|
||||||
|
@ -193,7 +195,7 @@ texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="ArrowR" type="Sprite" parent="."]
|
[node name="ArrowR" type="Sprite" parent="."]
|
||||||
visible = false
|
visible = false
|
||||||
position = Vector2( 12.4551, 1 )
|
position = Vector2( 11.336, 1 )
|
||||||
rotation = 1.5708
|
rotation = 1.5708
|
||||||
texture = ExtResource( 1 )
|
texture = ExtResource( 1 )
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ var is_moving = false
|
||||||
var is_holding_shard = true
|
var is_holding_shard = true
|
||||||
var has_respawned = false
|
var has_respawned = false
|
||||||
var first_lead = true
|
var first_lead = true
|
||||||
|
var is_free = false
|
||||||
onready var death_particles = $DeathSplatter
|
onready var death_particles = $DeathSplatter
|
||||||
onready var sprite = $Sprite
|
onready var sprite = $Sprite
|
||||||
onready var anims = $AnimationPlayer
|
onready var anims = $AnimationPlayer
|
||||||
|
@ -76,6 +77,7 @@ func spawn_shard():
|
||||||
func switch_action():
|
func switch_action():
|
||||||
Audio.play_sound(come_here,Audio.ac_voice)
|
Audio.play_sound(come_here,Audio.ac_voice)
|
||||||
text_anims.play("come here")
|
text_anims.play("come here")
|
||||||
|
is_free = true
|
||||||
|
|
||||||
func spray_blood():
|
func spray_blood():
|
||||||
for i in 16:
|
for i in 16:
|
||||||
|
|
|
@ -522,6 +522,18 @@ tracks/0/keys = {
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ true, false ]
|
"values": [ true, false ]
|
||||||
}
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/path = NodePath("Dialogue/ComeHere:visible")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PoolRealArray( 0 ),
|
||||||
|
"transitions": PoolRealArray( 1 ),
|
||||||
|
"update": 1,
|
||||||
|
"values": [ false ]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id=24]
|
[sub_resource type="Animation" id=24]
|
||||||
resource_name = "here take this"
|
resource_name = "here take this"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue