absolutely spot on
when declaring a variable inside a function, its scope is purely within that function and once that functions completed its no longer accessible outsside it.
yep, we can make alot of global variables. within projects that are small, its not such a big deal.
but, once projects get a little larger or dealing with larger ammounts of data these global variables take up memory space while the project is running.
its also a good idea to not use alot of global variables if its not needed for another reason.
when variables are global, then your entire project has access to them, which could mean that some other scene or script could change them and can lead to at least some annoying debugging, or something unwanted and break the game.
for the life of me, (having a brain not working moment) the only example of using variables within a function would be to swap the contents of two variables around.
there are other use cases, but heres an example
extends Node
var posX = 100
var posY = 50
func _ready():
print("This is the values before swap : x = ", posX, " y = ", posY)
print("Swapping...")
swap_numbers(posX, posY)
print("This is the values after swap : x = ", posX, " y = ", posY)
pass
func swap_numbers(_x, _y):
var tempvariable = _x
_x = _y
_y = tempvariable
posX = _x
posY = _y
not the best example sorry, but i hope it gives an idea