Merge branch 'devTitleScreen' into dev

This commit is contained in:
Paul Norberger
2020-04-18 15:56:18 +02:00
14 changed files with 417 additions and 10 deletions

Binary file not shown.

View File

@@ -0,0 +1,7 @@
[gd_resource type="DynamicFont" load_steps=2 format=2]
[ext_resource path="res://Fonts/Harmonic/Harmonic.ttf" type="DynamicFontData" id=1]
[resource]
size = 12
font_data = ExtResource( 1 )

View File

@@ -0,0 +1,7 @@
[gd_resource type="DynamicFont" load_steps=2 format=2]
[ext_resource path="res://Fonts/Harmonic/Harmonic.ttf" type="DynamicFontData" id=1]
[resource]
size = 24
font_data = ExtResource( 1 )

View File

@@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/tileset_room.png-.stex"
path="res://.import/tileset_room.png-674987c7ba950a0a830d1caa96e0c19a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="tileset_room.png"
dest_files=[ "res://.import/tileset_room.png-.stex" ]
source_file="res://Maps/Tilesets/Room/tileset_room.png"
dest_files=[ "res://.import/tileset_room.png-674987c7ba950a0a830d1caa96e0c19a.stex" ]
[params]
@@ -31,4 +31,4 @@ process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0
svg/scale=1.0

View File

@@ -0,0 +1,14 @@
extends Node2D
export(String, FILE, "*.tscn,*.scn") var scene_to_load = ""
onready var animation_player = $AnimationPlayer
func _process(delta):
if Input.is_action_pressed("skip"):
animation_player.playback_speed = 8.0
else:
animation_player.playback_speed = 1.0
func _on_AnimationPlayer_animation_finished(anim_name):
get_tree().change_scene(scene_to_load)

View File

@@ -0,0 +1,83 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://Fonts/Harmonic/Harmonic12.tres" type="DynamicFont" id=1]
[ext_resource path="res://Menus/Credits/Credits.gd" type="Script" id=2]
[sub_resource type="Animation" id=1]
resource_name = "scroll"
length = 25.0
tracks/0/type = "value"
tracks/0/path = NodePath("Label:margin_top")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 24.9 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ 200.0, -600 ]
}
[node name="Credits" type="Node2D"]
script = ExtResource( 2 )
scene_to_load = "res://Menus/TitleScreen/TitleScreen.tscn"
[node name="ColorRect" type="ColorRect" parent="."]
margin_right = 320.0
margin_bottom = 180.0
color = Color( 0, 0, 0, 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Label" type="Label" parent="."]
margin_left = 10.0
margin_top = -436.145
margin_right = 40.0
margin_bottom = 14.0
custom_fonts/font = ExtResource( 1 )
text = "---- Team ----
DerAnonymos
https://www.youtube.com/c/DerAnonymosLP
https://twitch.tv/deranonymos
https://www.instagram.com/deranonymos/
Katsuhira
https://www.youtube.com/c/Katsuhira
https://twitter.com/nKatsuhira
Sonaion
Mienek
Streamfire
https://twitter.com/_streamfire_
YellowKamel
https://www.youtube.com/channel/UCgF6E6Hk4cNQBGDmcAEp5CA
creyD
---- Help ----
Dave Loyd, Crawl
https://twitter.com/DuzzOnDrums
https://www.powerhoof.com/
HeartBeast
https://www.youtube.com/user/uheartbeast
https://www.heartgamedev.com
---- Fonts ----
Harmonic by Monkopus
https://monkopus.itch.io/
https://twitter.com/monkopus
https://www.instagram.com/monkopusgames/"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "scroll"
anims/scroll = SubResource( 1 )
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]

View File

@@ -1,5 +1,10 @@
extends AnimatedSprite
signal startup_finished
var finished_once := false
export(int) var startup_finish_frame = 65
export(int) var loop_frame = 80
# Declare member variables here. Examples:
# var a = 2
@@ -10,7 +15,19 @@ extends AnimatedSprite
func _ready():
play("default")
func _process(delta):
if Input.is_action_just_pressed("skip"):
frame = startup_finish_frame
if frame > startup_finish_frame:
if not finished_once:
emit_signal("startup_finished")
finished_once = true
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass
func _on_Startup_animation_finished():
frame = loop_frame

View File

@@ -134,3 +134,4 @@ animations = [ {
frames = SubResource( 1 )
centered = false
script = ExtResource( 121 )
[connection signal="animation_finished" from="." to="." method="_on_Startup_animation_finished"]

View File

@@ -0,0 +1,12 @@
extends Control
class_name TitleScreen
onready var new_game_button = $"VBoxContainer/NewGameButton"
onready var animation_player = $AnimationPlayer
func _ready():
animation_player.play("__INIT__")
func _on_Startup_startup_finished():
new_game_button.grab_focus()
animation_player.play("show_buttons")

View File

@@ -0,0 +1,218 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://Menus/TitleScreen/TitleScreenButton.tscn" type="PackedScene" id=1]
[ext_resource path="res://Menus/Startup/Startup.tscn" type="PackedScene" id=2]
[ext_resource path="res://Menus/TitleScreen/TitleScreen.gd" type="Script" id=3]
[sub_resource type="Animation" id=2]
resource_name = "__INIT__"
length = 0.1
tracks/0/type = "value"
tracks/0/path = NodePath("VBoxContainer/NewGameButton:anchor_left")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.25 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("VBoxContainer/NewGameButton:anchor_right")
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": 0,
"values": [ 1.25 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("VBoxContainer/CreditsButton:anchor_left")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.25 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("VBoxContainer/CreditsButton:anchor_right")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.25 ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("VBoxContainer/QuitButton:anchor_left")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.25 ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("VBoxContainer/QuitButton:anchor_right")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.25 ]
}
[sub_resource type="Animation" id=1]
resource_name = "show_buttons"
step = 0.3
tracks/0/type = "value"
tracks/0/path = NodePath("VBoxContainer/NewGameButton:anchor_left")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.9 ),
"transitions": PoolRealArray( 1, -2 ),
"update": 0,
"values": [ 1.25, 0.0 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("VBoxContainer/NewGameButton:anchor_right")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.9 ),
"transitions": PoolRealArray( 1, -2 ),
"update": 0,
"values": [ 1.25, 0.0 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("VBoxContainer/CreditsButton:anchor_left")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 0.6 ),
"transitions": PoolRealArray( 1, -2 ),
"update": 0,
"values": [ 1.25, 0.0 ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("VBoxContainer/CreditsButton:anchor_right")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0, 0.6 ),
"transitions": PoolRealArray( 1, -2 ),
"update": 0,
"values": [ 1.25, 0.0 ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("VBoxContainer/QuitButton:anchor_left")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0, 0.3 ),
"transitions": PoolRealArray( 1, -2 ),
"update": 0,
"values": [ 1.25, 0.0 ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("VBoxContainer/QuitButton:anchor_right")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"times": PoolRealArray( 0, 0.3 ),
"transitions": PoolRealArray( 1, -2 ),
"update": 0,
"values": [ 1.25, 0.0 ]
}
[node name="TitleScreen" type="Control"]
anchor_left = -0.00168862
anchor_top = -0.003002
anchor_right = 0.998311
anchor_bottom = 0.996998
margin_left = 0.875977
margin_right = 0.875977
script = ExtResource( 3 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Startup" parent="." instance=ExtResource( 2 )]
[node name="VBoxContainer" type="VBoxContainer" parent="."]
anchor_left = 0.623951
anchor_top = 0.056
anchor_right = 0.970827
anchor_bottom = 0.469669
margin_left = 1.52588e-05
__meta__ = {
"_edit_group_": true,
"_edit_use_anchors_": true
}
[node name="NewGameButton" parent="VBoxContainer" instance=ExtResource( 1 )]
margin_right = 111.0
scene_to_load = "res://World.tscn"
[node name="Label" parent="VBoxContainer/NewGameButton" index="0"]
text = "New Game"
[node name="CreditsButton" parent="VBoxContainer" instance=ExtResource( 1 )]
margin_top = 24.0
margin_right = 111.0
margin_bottom = 44.0
scene_to_load = "res://Menus/Credits/Credits.tscn"
[node name="Label" parent="VBoxContainer/CreditsButton" index="0"]
text = "Credits"
[node name="QuitButton" parent="VBoxContainer" instance=ExtResource( 1 )]
margin_top = 48.0
margin_right = 111.0
margin_bottom = 68.0
quit = true
[node name="Label" parent="VBoxContainer/QuitButton" index="0"]
text = "Quit"
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/__INIT__ = SubResource( 2 )
anims/show_buttons = SubResource( 1 )
[connection signal="startup_finished" from="Startup" to="." method="_on_Startup_startup_finished"]
[editable path="VBoxContainer/NewGameButton"]
[editable path="VBoxContainer/CreditsButton"]
[editable path="VBoxContainer/QuitButton"]

View File

@@ -0,0 +1,12 @@
extends Button
class_name TitleSceenButton
export(String, FILE, "*.tscn,*.scn") var scene_to_load = ""
export(bool) var quit = false
func _pressed():
if quit:
get_tree().quit()
return
get_tree().change_scene(scene_to_load)

View File

@@ -0,0 +1,21 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Fonts/Harmonic/Harmonic24.tres" type="DynamicFont" id=1]
[ext_resource path="res://Menus/TitleScreen/TitleScreenButton.gd" type="Script" id=2]
[node name="TitleScreenButton" type="Button"]
margin_right = 110.0
margin_bottom = 20.0
flat = true
script = ExtResource( 2 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Label" type="Label" parent="."]
custom_fonts/font = ExtResource( 1 )
text = "Label"
__meta__ = {
"_edit_use_anchors_": false,
"_editor_description_": ""
}

View File

@@ -1,7 +1,6 @@
[gd_scene load_steps=3 format=2]
[gd_scene load_steps=2 format=2]
[ext_resource path="res://Player/Player.tscn" type="PackedScene" id=1]
[ext_resource path="res://Menus/Startup/Startup.tscn" type="PackedScene" id=2]
[node name="World" type="Node2D"]
@@ -12,5 +11,3 @@ position = Vector2( 164.844, 101.687 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"]
polygon = PoolVector2Array( 192.287, 146.593, 265.375, 115.213, 228.831, 67.1505, 257.43, 37.3594, 218.9, 7.9655, 298.343, 3.59614, 310.26, 179.959, 11.9516, 168.837, 42.9343, 30.6067, 69.1505, 118.788, 86.628, 87.4084, 96.5583, 127.527 )
[node name="Startup" parent="." instance=ExtResource( 2 )]

View File

@@ -13,15 +13,27 @@ _global_script_classes=[ {
"class": "Player",
"language": "GDScript",
"path": "res://Player/Player.gd"
}, {
"base": "Button",
"class": "TitleSceenButton",
"language": "GDScript",
"path": "res://Menus/TitleScreen/TitleScreenButton.gd"
}, {
"base": "Control",
"class": "TitleScreen",
"language": "GDScript",
"path": "res://Menus/TitleScreen/TitleScreen.gd"
} ]
_global_script_class_icons={
"Player": ""
"Player": "",
"TitleSceenButton": "",
"TitleScreen": ""
}
[application]
config/name="LD46 Game"
run/main_scene="res://World.tscn"
run/main_scene="res://Menus/TitleScreen/TitleScreen.tscn"
config/icon="res://icon.png"
[autoload]
@@ -86,6 +98,12 @@ down={
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
]
}
skip={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":10,"pressure":0.0,"pressed":false,"script":null)
]
}
[layer_names]