So I'm very new at this, so any help is gladly welcome. I've run into a problem when wanting to add an instantiated scene as a child node, getting the error that '"p_child" is null'. Also, when wanting to delete that child node, by using 'queue_free()' it appears this error: 'Invalid call. Nonexistent function 'queue_free' in base 'Nil''.
For context, I want to select the scene corresponding to a random generated number, to later add it as a child to an already created node, for it to appear in the game. I suppose there will be better ways to do it, so I'll appreciate them.
First of all, I preloaded all the scenes I was going to use:
var F_T0 = preload("res://Scenes/Terrains/First/F_Terrain0.tscn")
var F_T1 = preload("res://Scenes/Terrains/First/F_Terrain1.tscn")
var F_T2 = preload("res://Scenes/Terrains/First/F_Terrain2.tscn")
var F_T3 = preload("res://Scenes/Terrains/First/F_Terrain3.tscn")
var F_T4 = preload("res://Scenes/Terrains/First/F_Terrain4.tscn")
var F_T5 = preload("res://Scenes/Terrains/First/F_Terrain5.tscn")
var F_T6 = preload("res://Scenes/Terrains/First/F_Terrain6.tscn")
var F_T7 = preload("res://Scenes/Terrains/First/F_Terrain7.tscn")
var F_T8 = preload("res://Scenes/Terrains/First/F_Terrain8.tscn")
var F_T9 = preload("res://Scenes/Terrains/First/F_Terrain9.tscn")
Then, depending on the number generated, I assigned a variable previously written to that instantiated scene:
match terrainFirst:
0:
nextTerrainOne = F_T0.instance()
1:
nextTerrainOne = F_T1.instance()
2:
nextTerrainOne = F_T2.instance()
3:
nextTerrainOne = F_T3.instance()
4:
nextTerrainOne = F_T4.instance()
5:
nextTerrainOne = F_T5.instance()
6:
nextTerrainOne = F_T6.instance()
7:
nextTerrainOne = F_T7.instance()
8:
nextTerrainOne = F_T8.instance()
9:
nextTerrainOne = F_T9.instance()
Lastly, I added that variable as a child of the node I wanted:
tPositionOne.add_child(nextTerrainOne)
And when the camera leaves the corresponding added scene, I make it dissappear, because the game is an infinite runner:
nextTerrainOne.queue_free()
I've done my research but I'm not yet able to solve it.