Edit of asset "Transit" Accepted
Old/Current | New/Edit | |
---|---|---|
Title | Transit | |
Description |
# Transit A simple Godot asset for smooth scene transitions ## Usage Add Transit to your project. You can either install it from the Godot Asset Library, add this repository as a submodule of your project, or download `transit/Transit.gd` and `transit/Transit.tscn` into the location of your choosing. Once you have the files in the right place, add `Transit.tscn` to your project's AutoLoad list in the project settings. *Important: Make sure you add the scene file (ending in `.tscn`) to the AutoLoad list. Adding the GDScript file (ending in `.gd`) **will not work**.* Now you can reference `/root/Transit` in your scripts to change scenes in much the same way you would with `SceneTree.change_scene`. For example: ```GDScript onready var _transit := $"/root/Transit` func on_button_pressed(): _transit.change_scene("res://Game.tscn") ``` ## Documentation ### Change Scene `change_scene(path: String, duration: Float = 0.2, delay: float = 0)` Fades out, calls `get_tree().change_scene(path)`, then fades back in. Emits the `scene_changed` signal once the transition is completed. Parameters: * `path`: The scene to change to after fading out. * `duration`: How long in seconds the fade should last on each side of the transition. Defaults to 0.2s (200ms). * `delay`: How long to wait before starting the transition. Defaults to 0s, i.e no delay. Example: ```GDScript # A simple fade transition to `Game.tscn`. _transit.change_scene("res://Game.tscn") # Then same as above, except each fade (out and in) takes half a second. _transit.change_scene("res://Game.tscn", 0.5) # The same as above, except now it waits for a full second before fading out. _transit.change_scene("res://Game.tscn", 0.5, 1.0) ``` ### Set fade-to color `set_color(color: Color)` Sets the intermediate color to use when fading between scenes. The default is black. This function preserves the current alpha value, which means it's safe to change colours even while a fade is in progress. Parameters: * `color`: The color to fade to. This is implemented as a ColorRect that exists on the highest canvas layer in the scene. Example: ```GDScript # Set fade color to white. _transit.set_color(Color.white) # This will now fade to white before changing to `Game.tscn` _transit.change_scene("res://Game.tscn") ``` ## Implementation Details Transit works by creating a `ColorRect` on canvas layer #128 (the highest.) This `ColorRect` defaults to black with 0 alpha, with mouse filtering set to `MOUSE_FILTER_IGNORE`. When `change_scene` is called, the following process happens: 1. The `ColorRect` mouse filtering is set to `MOUSE_FILTER_STOP` to prevent further UI interaction. 2. If `delay` is larger than 0, the function yields for that amount of time. 3. An animation is played that fades the alpha value to 1 over the given time period. 4. `SceneTree.change_scene` is invoked on the current tree, changing to the requested scene. 5. The `ColorRect` mouse filtering is set back to `MOUSE_FILTER_IGNORE` to allow UI interactions. 6. The same fade animation as before is played in reverse to fade the `ColorRect` alpha back to 0. 7. The `scene_changed` signal is emitted. |
|
Category | Misc | |
License | MIT | |
Repository Provider | GitHub | |
Repository Url | https://github.com/backwardspy/transit | |
Issues Url | https://github.com/backwardspy/transit/issues | |
Godot version | Godot 3.2 | |
Version String | 1.1 | 1.1 |
Download Commit | 30bf833f9c5d184eb4aada0bb07f21fef8a1d9f1 | 30bf833f9c5d184eb4aada0bb07f21fef8a1d9f1 |
Download Url (Computed) | https://github.com/backwardspy/transit/archive/30bf833f9c5d184eb4aada0bb07f21fef8a1d9f1.zip | https://github.com/backwardspy/transit/archive/30bf833f9c5d184eb4aada0bb07f21fef8a1d9f1.zip |
Icon Url |
https://raw.githubusercontent.com/backwardspy/transit/master/meta/icon.png
![]() |