Browse Source

Merge pull request #6807 from Piralein/3d🎠

"Your first 3D game - Score and Replay" update images, indentation and naming
Max Hilbrunner 2 years ago
parent
commit
98a9a62d54
42 changed files with 75 additions and 80 deletions
  1. 75 80
      getting_started/first_3d_game/08.score_and_replay.rst
  2. BIN
      getting_started/first_3d_game/img/08.score_and_replay/01.label_node.png
  3. BIN
      getting_started/first_3d_game/img/08.score_and_replay/01_label_node.webp
  4. BIN
      getting_started/first_3d_game/img/08.score_and_replay/02.score_color_picker.png
  5. BIN
      getting_started/first_3d_game/img/08.score_and_replay/02.score_custom_color.webp
  6. BIN
      getting_started/first_3d_game/img/08.score_and_replay/02.score_label_moved.png
  7. BIN
      getting_started/first_3d_game/img/08.score_and_replay/02.score_placeholder.png
  8. BIN
      getting_started/first_3d_game/img/08.score_and_replay/02_score_placeholder.webp
  9. BIN
      getting_started/first_3d_game/img/08.score_and_replay/03.creating_theme.png
  10. BIN
      getting_started/first_3d_game/img/08.score_and_replay/03_score_font_color.webp
  11. BIN
      getting_started/first_3d_game/img/08.score_and_replay/04.theme_preview.png
  12. BIN
      getting_started/first_3d_game/img/08.score_and_replay/04_score_label_moved.webp
  13. BIN
      getting_started/first_3d_game/img/08.score_and_replay/05_creating_theme.webp
  14. BIN
      getting_started/first_3d_game/img/08.score_and_replay/06_theme_preview.webp
  15. BIN
      getting_started/first_3d_game/img/08.score_and_replay/07.font_size.webp
  16. BIN
      getting_started/first_3d_game/img/08.score_and_replay/07_font_size.webp
  17. BIN
      getting_started/first_3d_game/img/08.score_and_replay/08.open_main_script.png
  18. BIN
      getting_started/first_3d_game/img/08.score_and_replay/08_open_main_script.webp
  19. 0 0
      getting_started/first_3d_game/img/08.score_and_replay/09_score_in_game.png
  20. BIN
      getting_started/first_3d_game/img/08.score_and_replay/10.layout_icon.png
  21. BIN
      getting_started/first_3d_game/img/08.score_and_replay/10_anchor_preset.webp
  22. BIN
      getting_started/first_3d_game/img/08.score_and_replay/11.full_rect_option.png
  23. BIN
      getting_started/first_3d_game/img/08.score_and_replay/11_full_rect_option.webp
  24. BIN
      getting_started/first_3d_game/img/08.score_and_replay/12.anchors_updated.png
  25. BIN
      getting_started/first_3d_game/img/08.score_and_replay/12_anchors_updated.webp
  26. BIN
      getting_started/first_3d_game/img/08.score_and_replay/13_retry_color_picker.webp
  27. BIN
      getting_started/first_3d_game/img/08.score_and_replay/14.retry_node.png
  28. BIN
      getting_started/first_3d_game/img/08.score_and_replay/14_center_option.webp
  29. BIN
      getting_started/first_3d_game/img/08.score_and_replay/15.layout_center.png
  30. BIN
      getting_started/first_3d_game/img/08.score_and_replay/15_new_scene.webp
  31. BIN
      getting_started/first_3d_game/img/08.score_and_replay/16.new_scene.png
  32. BIN
      getting_started/first_3d_game/img/08.score_and_replay/16_music_player_node.webp
  33. BIN
      getting_started/first_3d_game/img/08.score_and_replay/17.music_player_node.png
  34. BIN
      getting_started/first_3d_game/img/08.score_and_replay/17_music_node_properties.webp
  35. BIN
      getting_started/first_3d_game/img/08.score_and_replay/18.music_node_properties.png
  36. BIN
      getting_started/first_3d_game/img/08.score_and_replay/18_register_autoload.webp
  37. BIN
      getting_started/first_3d_game/img/08.score_and_replay/19.register_autoload.png
  38. BIN
      getting_started/first_3d_game/img/08.score_and_replay/19_scene_dock_tabs.webp
  39. BIN
      getting_started/first_3d_game/img/08.score_and_replay/20.scene_dock_tabs.png
  40. BIN
      getting_started/first_3d_game/img/08.score_and_replay/20_remote_scene_tree.webp
  41. BIN
      getting_started/first_3d_game/img/08.score_and_replay/21.remote_scene_tree.png
  42. BIN
      getting_started/first_3d_game/img/08.score_and_replay/retry_color_picker.webp

+ 75 - 80
getting_started/first_3d_game/08.score_and_replay.rst

@@ -15,11 +15,11 @@ edit your User Interface (UI).
 
 
 Add a :ref:`Label <class_Label>` node and name it ``ScoreLabel``
 Add a :ref:`Label <class_Label>` node and name it ``ScoreLabel``
 
 
-|image0|
+|image1|
 
 
 In the *Inspector*, set the *Label*'s *Text* to a placeholder like "Score: 0".
 In the *Inspector*, set the *Label*'s *Text* to a placeholder like "Score: 0".
 
 
-|image1|
+|image2|
 
 
 Also, the text is white by default, like our game's background. We need to
 Also, the text is white by default, like our game's background. We need to
 change its color to see it at runtime.
 change its color to see it at runtime.
@@ -28,7 +28,7 @@ Scroll down to *Theme Overrides*, and expand *Colors*
 and enable *Font Color* in order to tint the text to black
 and enable *Font Color* in order to tint the text to black
 (which contrasts well with the white 3D scene)
 (which contrasts well with the white 3D scene)
 
 
-|image2|
+|image3|
 
 
 Finally, click and drag on the text in the viewport to move it away from the
 Finally, click and drag on the text in the viewport to move it away from the
 top-left corner.
 top-left corner.
@@ -67,10 +67,9 @@ In the *FileSystem* dock, expand the ``fonts`` directory and click and drag the
 ``Montserrat-Medium.ttf`` file we included in the project onto the *Default Font*.
 ``Montserrat-Medium.ttf`` file we included in the project onto the *Default Font*.
 The text will reappear in the theme preview.
 The text will reappear in the theme preview.
 
 
-The text is a bit small. Set the *Settings -> Default Font Size* to ``22`` pixels to increase
-the text's size.
+The text is a bit small. Set the *Default Font Size* to ``22`` pixels to increase the text's size.
 
 
-|image9|
+|image7|
 
 
 Keeping track of the score
 Keeping track of the score
 --------------------------
 --------------------------
@@ -79,13 +78,13 @@ Let's work on the score next. Attach a new script to the ``ScoreLabel`` and defi
 the ``score`` variable.
 the ``score`` variable.
 
 
 .. tabs::
 .. tabs::
- .. code-tab:: gdscript GDScript
+  .. code-tab:: gdscript GDScript
 
 
-   extends Label
+    extends Label
 
 
-   var score = 0
+    var score = 0
 
 
- .. code-tab:: csharp
+  .. code-tab:: csharp
 
 
     using Godot;
     using Godot;
 
 
@@ -104,7 +103,7 @@ monster.
 Open the script ``Main.gd``. If it's still open, you can click on its name in
 Open the script ``Main.gd``. If it's still open, you can click on its name in
 the script editor's left column.
 the script editor's left column.
 
 
-|image10|
+|image8|
 
 
 Alternatively, you can double-click the ``Main.gd`` file in the *FileSystem*
 Alternatively, you can double-click the ``Main.gd`` file in the *FileSystem*
 dock.
 dock.
@@ -113,14 +112,14 @@ At the bottom of the ``_on_mob_timer_timeout()`` function, add the following
 line:
 line:
 
 
 .. tabs::
 .. tabs::
- .. code-tab:: gdscript GDScript
+  .. code-tab:: gdscript GDScript
 
 
-   func _on_mob_timer_timeout():
+    func _on_mob_timer_timeout():
         #...
         #...
         # We connect the mob to the score label to update the score upon squashing one.
         # We connect the mob to the score label to update the score upon squashing one.
         mob.squashed.connect($UserInterface/ScoreLabel._on_Mob_squashed.bind())
         mob.squashed.connect($UserInterface/ScoreLabel._on_Mob_squashed.bind())
 
 
- .. code-tab:: csharp
+  .. code-tab:: csharp
 
 
     public void OnMobTimerTimeout()
     public void OnMobTimerTimeout()
     {
     {
@@ -138,13 +137,13 @@ callback function.
 There, we increment the score and update the displayed text.
 There, we increment the score and update the displayed text.
 
 
 .. tabs::
 .. tabs::
- .. code-tab:: gdscript GDScript
+  .. code-tab:: gdscript GDScript
 
 
-   func _on_Mob_squashed():
-       score += 1
-       text = "Score: %s" % score
+    func _on_Mob_squashed():
+        score += 1
+        text = "Score: %s" % score
 
 
- .. code-tab:: csharp
+  .. code-tab:: csharp
 
 
     public void OnMobSquashed()
     public void OnMobSquashed()
     {
     {
@@ -164,13 +163,13 @@ function.
 
 
 .. note::
 .. note::
 
 
-   If you get an error when you squash a mob
-   check your capital letters in the signal "_on_Mob_squashed"
+    If you get an error when you squash a mob
+    check your capital letters in the signal "_on_Mob_squashed"
 
 
 You can now play the game and squash a few enemies to see the score
 You can now play the game and squash a few enemies to see the score
 increase.
 increase.
 
 
-|image11|
+|image9|
 
 
 .. note::
 .. note::
 
 
@@ -187,29 +186,29 @@ We'll now add the ability to play again after dying. When the player dies, we'll
 display a message on the screen and wait for input.
 display a message on the screen and wait for input.
 
 
 Head back to the ``Main.tscn`` scene, select the ``UserInterface`` node, add a
 Head back to the ``Main.tscn`` scene, select the ``UserInterface`` node, add a
-child node *ColorRect*, and name it ``Retry``. This node fills a
+child node :ref:`ColorRect <class_ColorRect>`, and name it ``Retry``. This node fills a
 rectangle with a uniform color and will serve as an overlay to darken the
 rectangle with a uniform color and will serve as an overlay to darken the
 screen.
 screen.
 
 
 To make it span over the whole viewport, you can use the *Anchor Preset* menu in the
 To make it span over the whole viewport, you can use the *Anchor Preset* menu in the
 toolbar.
 toolbar.
 
 
-|image12|
+|image10|
 
 
 Open it and apply the *Full Rect* command.
 Open it and apply the *Full Rect* command.
 
 
-|image13|
+|image11|
 
 
 Nothing happens. Well, almost nothing; only the four green pins move to the
 Nothing happens. Well, almost nothing; only the four green pins move to the
 corners of the selection box.
 corners of the selection box.
 
 
-|image14|
+|image12|
 
 
 This is because UI nodes (all the ones with a green icon) work with anchors and
 This is because UI nodes (all the ones with a green icon) work with anchors and
 margins relative to their parent's bounding box. Here, the ``UserInterface`` node
 margins relative to their parent's bounding box. Here, the ``UserInterface`` node
 has a small size and the ``Retry`` one is limited by it.
 has a small size and the ``Retry`` one is limited by it.
 
 
-Select the ``UserInterface`` and apply *Layout -> Full Rect* to it as well. The
+Select the ``UserInterface`` and apply *Anchor Preset -> Full Rect* to it as well. The
 ``Retry`` node should now span the whole viewport.
 ``Retry`` node should now span the whole viewport.
 
 
 Let's change its color so it darkens the game area. Select ``Retry`` and in the
 Let's change its color so it darkens the game area. Select ``Retry`` and in the
@@ -217,17 +216,14 @@ Let's change its color so it darkens the game area. Select ``Retry`` and in the
 in the color picker, drag the *A* slider to the left. It controls the color's
 in the color picker, drag the *A* slider to the left. It controls the color's
 Alpha channel, that is to say, its opacity/transparency.
 Alpha channel, that is to say, its opacity/transparency.
 
 
-|image15|
+|image13|
 
 
 Next, add a :ref:`Label <class_Label>` as a child of ``Retry`` and give it the *Text*
 Next, add a :ref:`Label <class_Label>` as a child of ``Retry`` and give it the *Text*
 "Press Enter to retry."
 "Press Enter to retry."
-
-|image16|
-
-To move it and anchor it in the center of the screen, apply *Layout -> Center*
+To move it and anchor it in the center of the screen, apply *Anchor Preset -> Center*
 to it.
 to it.
 
 
-|image17|
+|image14|
 
 
 Coding the retry option
 Coding the retry option
 ~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~
@@ -239,13 +235,13 @@ Open the script ``Main.gd``. First, we want to hide the overlay at the start of
 the game. Add this line to the ``_ready()`` function.
 the game. Add this line to the ``_ready()`` function.
 
 
 .. tabs::
 .. tabs::
- .. code-tab:: gdscript GDScript
+  .. code-tab:: gdscript GDScript
 
 
-   func _ready():
-       #...
-       $UserInterface/Retry.hide()
+    func _ready():
+        #...
+        $UserInterface/Retry.hide()
 
 
- .. code-tab:: csharp
+  .. code-tab:: csharp
 
 
     public override void _Ready()
     public override void _Ready()
     {
     {
@@ -256,13 +252,13 @@ the game. Add this line to the ``_ready()`` function.
 Then, when the player gets hit, we show the overlay.
 Then, when the player gets hit, we show the overlay.
 
 
 .. tabs::
 .. tabs::
- .. code-tab:: gdscript GDScript
+  .. code-tab:: gdscript GDScript
 
 
-   func _on_player_hit():
-       #...
-       $UserInterface/Retry.show()
+    func _on_player_hit():
+        #...
+        $UserInterface/Retry.show()
 
 
- .. code-tab:: csharp
+  .. code-tab:: csharp
 
 
     public void OnPlayerHit()
     public void OnPlayerHit()
     {
     {
@@ -278,14 +274,14 @@ If the player pressed the predefined ``ui_accept`` input action and ``Retry`` is
 visible, we reload the current scene.
 visible, we reload the current scene.
 
 
 .. tabs::
 .. tabs::
- .. code-tab:: gdscript GDScript
+  .. code-tab:: gdscript GDScript
 
 
-   func _unhandled_input(event):
-       if event.is_action_pressed("ui_accept") and $UserInterface/Retry.visible:
-           # This restarts the current scene.
-           get_tree().reload_current_scene()
+    func _unhandled_input(event):
+        if event.is_action_pressed("ui_accept") and $UserInterface/Retry.visible:
+            # This restarts the current scene.
+            get_tree().reload_current_scene()
 
 
- .. code-tab:: csharp
+  .. code-tab:: csharp
 
 
     public override void _UnhandledInput(InputEvent @event)
     public override void _UnhandledInput(InputEvent @event)
     {
     {
@@ -315,21 +311,22 @@ You can use the autoload feature to have Godot load a node or a scene
 automatically at the start of the game, outside the current scene. You can also
 automatically at the start of the game, outside the current scene. You can also
 use it to create globally accessible objects.
 use it to create globally accessible objects.
 
 
-Create a new scene by going to the *Scene* menu and clicking *New Scene*.
+Create a new scene by going to the *Scene* menu and clicking *New Scene*
+or by using the *+* icon next to your currently opened scene.
 
 
-|image18|
+|image15|
 
 
 Click the *Other Node* button to create an :ref:`AudioStreamPlayer2D <class_AudioStreamPlayer2D>` and rename it to
 Click the *Other Node* button to create an :ref:`AudioStreamPlayer2D <class_AudioStreamPlayer2D>` and rename it to
 ``MusicPlayer``.
 ``MusicPlayer``.
 
 
-|image19|
+|image16|
 
 
 We included a music soundtrack in the ``art/`` directory, ``House In a Forest
 We included a music soundtrack in the ``art/`` directory, ``House In a Forest
 Loop.ogg``. Click and drag it onto the *Stream* property in the *Inspector*.
 Loop.ogg``. Click and drag it onto the *Stream* property in the *Inspector*.
 Also, turn on *Autoplay* so the music plays automatically at the start of the
 Also, turn on *Autoplay* so the music plays automatically at the start of the
 game.
 game.
 
 
-|image20|
+|image17|
 
 
 Save the scene as ``MusicPlayer.tscn``.
 Save the scene as ``MusicPlayer.tscn``.
 
 
@@ -340,7 +337,7 @@ In the *Path* field, you want to enter the path to your scene. Click the folder
 icon to open the file browser and double-click on ``MusicPlayer.tscn``. Then,
 icon to open the file browser and double-click on ``MusicPlayer.tscn``. Then,
 click the *Add* button on the right to register the node.
 click the *Add* button on the right to register the node.
 
 
-|image21|
+|image18|
 
 
 ``MusicPlayer.tscn`` now loads into any scene you open or play.
 ``MusicPlayer.tscn`` now loads into any scene you open or play.
 So if you run the game now, the music will play automatically in any scene.
 So if you run the game now, the music will play automatically in any scene.
@@ -349,13 +346,13 @@ Before we wrap up this lesson, here's a quick look at how it works under the
 hood. When you run the game, your *Scene* dock changes to give you two tabs:
 hood. When you run the game, your *Scene* dock changes to give you two tabs:
 *Remote* and *Local*.
 *Remote* and *Local*.
 
 
-|image22|
+|image19|
 
 
 The *Remote* tab allows you to visualize the node tree of your running game.
 The *Remote* tab allows you to visualize the node tree of your running game.
 There, you will see the *Main* node and everything the scene contains and the
 There, you will see the *Main* node and everything the scene contains and the
 instantiated mobs at the bottom.
 instantiated mobs at the bottom.
 
 
-|image23|
+|image20|
 
 
 At the top are the autoloaded ``MusicPlayer`` and a *root* node, which is your
 At the top are the autoloaded ``MusicPlayer`` and a *root* node, which is your
 game's viewport.
 game's viewport.
@@ -366,7 +363,7 @@ make the game both look and feel much nicer.
 Here is the complete ``Main.gd`` script for reference.
 Here is the complete ``Main.gd`` script for reference.
 
 
 .. tabs::
 .. tabs::
- .. code-tab:: gdscript GDScript
+  .. code-tab:: gdscript GDScript
 
 
     extends Node
     extends Node
 
 
@@ -404,7 +401,7 @@ Here is the complete ``Main.gd`` script for reference.
         if event.is_action_pressed("ui_accept") and $UserInterface/Retry.visible:
         if event.is_action_pressed("ui_accept") and $UserInterface/Retry.visible:
             # This restarts the current scene.
             # This restarts the current scene.
             get_tree().reload_current_scene()
             get_tree().reload_current_scene()
- .. code-tab:: csharp
+  .. code-tab:: csharp
 
 
     using Godot;
     using Godot;
 
 
@@ -451,25 +448,23 @@ Here is the complete ``Main.gd`` script for reference.
     }
     }
 
 
 
 
-.. |image0| image:: img/08.score_and_replay/01.label_node.png
-.. |image1| image:: img/08.score_and_replay/02.score_placeholder.png
-.. |image2| image:: img/08.score_and_replay/02.score_custom_color.webp
-.. |image3| image:: img/08.score_and_replay/02.score_color_picker.png
-.. |image4| image:: img/08.score_and_replay/02.score_label_moved.png
-.. |image5| image:: img/08.score_and_replay/03.creating_theme.png
-.. |image6| image:: img/08.score_and_replay/04.theme_preview.png
-.. |image9| image:: img/08.score_and_replay/07.font_size.webp
-.. |image10| image:: img/08.score_and_replay/08.open_main_script.png
-.. |image11| image:: img/08.score_and_replay/09.score_in_game.png
-.. |image12| image:: img/08.score_and_replay/10.layout_icon.png
-.. |image13| image:: img/08.score_and_replay/11.full_rect_option.png
-.. |image14| image:: img/08.score_and_replay/12.anchors_updated.png
-.. |image15| image:: img/08.score_and_replay/retry_color_picker.webp
-.. |image16| image:: img/08.score_and_replay/14.retry_node.png
-.. |image17| image:: img/08.score_and_replay/15.layout_center.png
-.. |image18| image:: img/08.score_and_replay/16.new_scene.png
-.. |image19| image:: img/08.score_and_replay/17.music_player_node.png
-.. |image20| image:: img/08.score_and_replay/18.music_node_properties.png
-.. |image21| image:: img/08.score_and_replay/19.register_autoload.png
-.. |image22| image:: img/08.score_and_replay/20.scene_dock_tabs.png
-.. |image23| image:: img/08.score_and_replay/21.remote_scene_tree.png
+.. |image1| image:: img/08.score_and_replay/01_label_node.webp
+.. |image2| image:: img/08.score_and_replay/02_score_placeholder.webp
+.. |image3| image:: img/08.score_and_replay/03_score_font_color.webp
+.. |image4| image:: img/08.score_and_replay/04_score_label_moved.webp
+.. |image5| image:: img/08.score_and_replay/05_creating_theme.webp
+.. |image6| image:: img/08.score_and_replay/06_theme_preview.webp
+.. |image7| image:: img/08.score_and_replay/07_font_size.webp
+.. |image8| image:: img/08.score_and_replay/08_open_main_script.webp
+.. |image9| image:: img/08.score_and_replay/09_score_in_game.png
+.. |image10| image:: img/08.score_and_replay/10_anchor_preset.webp
+.. |image11| image:: img/08.score_and_replay/11_full_rect_option.webp
+.. |image12| image:: img/08.score_and_replay/12_anchors_updated.webp
+.. |image13| image:: img/08.score_and_replay/13_retry_color_picker.webp
+.. |image14| image:: img/08.score_and_replay/14_center_option.webp
+.. |image15| image:: img/08.score_and_replay/15_new_scene.webp
+.. |image16| image:: img/08.score_and_replay/16_music_player_node.webp
+.. |image17| image:: img/08.score_and_replay/17_music_node_properties.webp
+.. |image18| image:: img/08.score_and_replay/18_register_autoload.webp
+.. |image19| image:: img/08.score_and_replay/19_scene_dock_tabs.webp
+.. |image20| image:: img/08.score_and_replay/20_remote_scene_tree.webp

BIN
getting_started/first_3d_game/img/08.score_and_replay/01.label_node.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/01_label_node.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/02.score_color_picker.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/02.score_custom_color.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/02.score_label_moved.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/02.score_placeholder.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/02_score_placeholder.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/03.creating_theme.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/03_score_font_color.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/04.theme_preview.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/04_score_label_moved.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/05_creating_theme.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/06_theme_preview.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/07.font_size.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/07_font_size.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/08.open_main_script.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/08_open_main_script.webp


+ 0 - 0
getting_started/first_3d_game/img/08.score_and_replay/09.score_in_game.png → getting_started/first_3d_game/img/08.score_and_replay/09_score_in_game.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/10.layout_icon.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/10_anchor_preset.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/11.full_rect_option.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/11_full_rect_option.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/12.anchors_updated.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/12_anchors_updated.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/13_retry_color_picker.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/14.retry_node.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/14_center_option.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/15.layout_center.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/15_new_scene.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/16.new_scene.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/16_music_player_node.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/17.music_player_node.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/17_music_node_properties.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/18.music_node_properties.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/18_register_autoload.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/19.register_autoload.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/19_scene_dock_tabs.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/20.scene_dock_tabs.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/20_remote_scene_tree.webp


BIN
getting_started/first_3d_game/img/08.score_and_replay/21.remote_scene_tree.png


BIN
getting_started/first_3d_game/img/08.score_and_replay/retry_color_picker.webp