In this part, I will show you how to create a menu when you finish playing a level and it will be able to move to the next level, play again and return to the Level Map menu.
| Join the channel Telegram of the AnonyViet 👉 Link 👈 |
Copy Scene
Then instead of having to recreate it from scratch, you can duplicate a new scene from the scene pause menu.
![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 19 is over [Tạo 2D Platformer Game với Godot] Part 25: Creating Menus When Levels Are Out](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-35-56-300x157.png)
You find the pause menu in the filesystem right click and click duplicate
![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 20 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 16 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-36-15-300x132.png)
![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 21 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 17 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-36-50-300x125.png)
I will rename it EndLevelMenu![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 22 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 18 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-38-38-295x300.png)
Then you delete the other nodes and leave them as shown, I changed the name NutTepTuc to LevelKeTiep
![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 23 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 19 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-47-15.png)
Edit text in TieuDe![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 24 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 20 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-38-58-300x78.png)
You will clear the old script by pressing the button with the paper that has an x
![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 26 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 22 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-39-50-300x267.png)
Then create a new one.![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 27 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 23 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-40-15-157x300.png)
Then 3 buttons, you disconnect because it is connecting to the old script.
![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 28 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 24 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-46-34-300x223.png)
Then reconnect 3 new ones.
![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 29 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 25 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-52-50-295x300.png)
Then Instance EndLevelMenu to Map.
Then you remember to hide the EndLevelMenu that belongs to the Control Node type.
Script
extends CanvasLayer
onready var level = get_parent().get_node("KhuVucDiChuyen")
func _on_NutLevelKeTiep_pressed():
get_tree().paused = false
get_tree().change_scene(level.LevelKeTiep)
pass # Replace with function body.
func _on_NutChoiLai_pressed():
get_tree().paused = false
get_tree().reload_current_scene()
print("choi lai")
pass # Replace with function body.
func _on_NutVeMenu_pressed():
get_tree().paused = false
get_tree().change_scene("res://Scences/Map/LevelMap.tscn")
pass # Replace with function body.
Here is the code of the EndLevelMenu script.
2 signals of the replay button and the menu will remain the same.
For LevelKeTiep to save time instead of having to manually set it up to see which level it moves to the next level, I’ll take it. At the KhuVucDi Chuyen node, I have created a variable called LevelKeTiep and it carries the data of the next scene, so I will call that variable instead of doing it manually.
![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 30 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 26 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-10-57-26-280x300.png)
onready var level = get_parent().get_node("KhuVucDiChuyen"): is that I declare it and assign it with the parent node of the EndLevelMenu (as shown in the picture) and from that parent node I can access the KhuVucDi Chuyen node to get the data of the LevelKeTiep variable.
extends Area2D
export (String,FILE) var LevelKeTiep
onready var endlevelmenu = get_parent().get_node("EndLevelMenu")
func _on_KhuVucDiChuyen_body_entered(body):
if body.name == "Player":
# get_tree().change_scene(LevelKeTiep)
endlevelmenu.get_node("EndLevelMenu").show()
get_tree().paused = true
In the script of KhuVucDIChuyen, I changed it a little bit.
Here, instead of moving to the next level as usual, I will show it the EndLevelMenu and then stop the tree like in the pausemenu.
If you wonder why I get_node() 2 EndLevelMenu, then look at the picture below.![[Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 31 is over [Tạo 2D Platformer Game với Godot] Part 25: Create a Menu when Level 27 is over](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-11-07-38-300x61.png)
I call 2 EndLevelMenu because I have 2 nodes :).
![[Tạo 2D Platformer Game với Godot] Part 25: Creating Menus When Levels Are Out [Tạo 2D Platformer Game với Godot] Part 25: Creating Menus When Levels Are Out](https://anonyviet.com/wp-content/uploads/2021/11/23-11-2021-11-13-02.png)
And here are my results
Summary
In the next part, I will show you how to calculate the score after collecting the coins and when you go out of the LevelMap you will get the number of stars corresponding to the number of points.








