A bullet spawner, spawns bullets at its position without the need of writing code. You don’t need a SpawnPoint if you wish to spawn bullets by code.
<aside> 📌 Items marked with a ☄️are exclusive to the BLAST! version. Items marked with a 🌀 will disappear in future versions.
</aside>
Active : (des)activate the node
Pattern ID : ID of the Spawn Pattern Resource linked to this SpawPoint
Shared Area Name : name of the Shared Area under which the bullets will be spawned.
☄️Process ID : gives an ID to the Spawning.spawn() call that the spawnpoint executes. It can be used for some other functions such as ☄️process_kill(process:int)
: stop a spawning process, given its ID.
Rotation speed : if the SpawnPoint must spin on itself.
Pool amount : see Pooling
Multi Patterns :
spawn_list(spawner:Array, id:PackedStringArray, loops:int=0, shared_area:Array[String]=["0"], process_id:int=-1, cust_bullet)
: spawn a list of patterns one by one. It’s used exactly like spawn()
except that all the arguments are arrays. Loop
determines if it loops back to the start of the list once it reaches the end. id
is the list of pattern spawned. For each pattern of index i, the spawner i and shared area i will be used. If those lists have less items than i, the last item of the list will be used. So if you don’t want to change the shared_area, just input a list with a single item for example. by code instead.loop
.Autostart & Triggering
<aside> ☄️ the following properties can now be changed at runtime
</aside>
Distance from
property in order to startAdvanced Triggering : Nodepath to the TriggerContainer which will handle the triggering.
☄️Preview :
☄️There is also a Randomisation category to randomize properties. Unlike the other randomization features, this one has no impact on performances.
You might wanna call these functions.