The global singleton scene, processes everything and hold global data.
<aside> 📌 Items marked with a ☄️are exclusive to the BLAST! version. Items marked with a 🌀 will disappear in future versions.
</aside>
Properties of the root node :
<aside> ☄️ If you change Custom Bullet Props Data, you need to restart Godot to see the changes applied to all Bullet Props. Adding and removing keys will impact ALL Bullet Props in your project. Changing default values will ONLY impact Bullet Props where this default value hasn’t been changed. If you witness a case where this rule doesn’t apply, please report it.
</aside>
☄️Default idle/spawn/shoot/waiting/delete: default ☄️AnimState for each native state of all bullets.
☄️Time scale : change the speed of the time.
Bounce Group : bullets that will collide with bodies belonging to these groups will bounce instead of be destroyed. Default group name : "Bounce". You can change or add more.
☄️Gravity : global gravity value applied to all bullets. A normal gravity should be less than 10. Using 0,0 will disable the gravity system.
☄️z_index (this is the native Godot property) : change the z level at which the bullets are drawn. It can be individually changed in Bullet Props but it’s not recommended as it will impact performances.
🌀SFX list : list of audio files, see Animating bullets to learn how to use.
Culling :
update_viewport()
** : update the Rect2() which determines the limits of the screen. Used for Culling. Viewport is updated automatically every Viewport refresh rate
times but this function does it manually. It is recommended to call this function every time the scene changes in the scene’s _ready
function, before any bullet gets shot.](https://dark-peace.notion.site/update_viewport-update-the-Rect2-which-determines-the-limits-of-the-screen-Used-for-Viewpor-13e6afe4334642fc92e2c51b41ed35a0)Spawning.interest_list
will have their collision disabled.Some utility functions you might want to use when coding your bullethell game. They’re all part of the Spawning autoload. Call with Spawning.*function()*
reset(minimal reset)
: clear all the bullet and reset all data. You MUST call before changing scene with get_tree().change_scene()
or get_tree().reload_current_scene
. If minimal, all resources and nodes whose ID starts with a “@
" won't be reset. Which can be used to make global resource that the whole game needs.create_pool(bullet id, amount, Shared Area name):
create a bullet pool containing a certain amount of bullets with a specific ID, under a specific Shared Area. Set object to true if Create_pool should always be used upon scene loading when you spawn bullets by code. For more details, read about Pooling.