Skip to content

Commit

Permalink
Finished Part 16
Browse files Browse the repository at this point in the history
  • Loading branch information
uheartbeast committed Aug 31, 2022
1 parent e17ad3d commit a255e69
Show file tree
Hide file tree
Showing 6 changed files with 145 additions and 2 deletions.
2 changes: 2 additions & 0 deletions Player/Player.gd
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ var state = MOVE
var double_jump = 1
var buffered_jump = false
var coyote_jump = false
var on_door = false

onready var animatedSprite: = $AnimatedSprite
onready var ladderCheck: = $LadderCheck
Expand Down Expand Up @@ -115,6 +116,7 @@ func reset_double_jump():
double_jump = moveData.DOUBLE_JUMP_COUNT

func input_jump():
if on_door: return
if Input.is_action_just_pressed("ui_up") or buffered_jump:
SoundPlayer.play_sound(SoundPlayer.JUMP)
velocity.y = moveData.JUMP_FORCE
Expand Down
14 changes: 14 additions & 0 deletions Transitions.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
extends CanvasLayer

onready var animationPlayer = $AnimationPlayer

signal transition_completed

func play_exit_transition():
animationPlayer.play("ExitLevel")

func play_enter_transition():
animationPlayer.play("EnterLevel")

func _on_AnimationPlayer_animation_finished(anim_name):
emit_signal("transition_completed")
103 changes: 103 additions & 0 deletions Transitions.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
[gd_scene load_steps=5 format=2]

[ext_resource path="res://Transitions.gd" type="Script" id=1]

[sub_resource type="Animation" id=1]
resource_name = "EnterLevel"
length = 0.5
tracks/0/type = "value"
tracks/0/path = NodePath("ColorRect:margin_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": 1,
"values": [ 0.0 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("ColorRect:margin_right")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.5 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ 0.0, -320.0 ]
}

[sub_resource type="Animation" id=2]
resource_name = "ExitLevel"
length = 0.5
tracks/0/type = "value"
tracks/0/path = NodePath("ColorRect:margin_left")
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 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ 320.0, 0.0 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("ColorRect:margin_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.5 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ 10, 10 ]
}

[sub_resource type="Animation" id=3]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("ColorRect:margin_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": [ 320.0 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("ColorRect:margin_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": [ 0.0 ]
}

[node name="Transitions" type="CanvasLayer"]
pause_mode = 2
script = ExtResource( 1 )

[node name="ColorRect" type="ColorRect" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 320.0
color = Color( 0, 0, 0, 1 )

[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/EnterLevel = SubResource( 1 )
anims/ExitLevel = SubResource( 2 )
anims/RESET = SubResource( 3 )

[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]
26 changes: 24 additions & 2 deletions World/Door.gd
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,30 @@ extends Area2D

export(String, FILE, "*.tscn") var target_level_path = ""

var player = false

func go_to_next_room():
Transitions.play_exit_transition()
get_tree().paused = true
yield(Transitions, "transition_completed")
Transitions.play_enter_transition()
get_tree().paused = false
get_tree().change_scene(target_level_path)

func _process(delta):
if not player: return
if not player.is_on_floor(): return
if Input.is_action_just_pressed("ui_up"):
if target_level_path.empty(): return
go_to_next_room()

func _on_Door_body_entered(body):
if not body is Player: return
if target_level_path.empty(): return
get_tree().change_scene(target_level_path)
body.on_door = true
player = body

func _on_Door_body_exited(body):
if not body is Player: return
body.on_door = false
player = null

1 change: 1 addition & 0 deletions World/Door.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ position = Vector2( 0, -10.5 )
shape = SubResource( 1 )

[connection signal="body_entered" from="." to="." method="_on_Door_body_entered"]
[connection signal="body_exited" from="." to="." method="_on_Door_body_exited"]
1 change: 1 addition & 0 deletions project.godot
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ config/icon="res://icon.png"

SoundPlayer="*res://Sounds/SoundPlayer.tscn"
Events="*res://Events.gd"
Transitions="*res://Transitions.tscn"

[display]

Expand Down

0 comments on commit a255e69

Please sign in to comment.