Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | System_Error |
Hi all.
I have a little situation. I have an array with a couple preloaded scenes, and want to have them be instanced at random.
Starlane.gd
extends Node2D
var n_ship_freight = preload("res://ships/npcs/neutral/freighter.tscn")
var n_ship_transport = preload("res://ships/npcs/neutral/transport.tscn")
var ship_array = [n_ship_transport, n_ship_freight]
var unknown = randi() % ship_array.size()
func _ready():
randomize()
func _on_Lane1A_SpawnTimer_timeout():
var nship_pos = self.get_position()
var lane_pos = $TrafficArea/Lane1A.get_global_position()
nship_pos = lane_pos
$TrafficArea/Lane1A.add_child(unknown.instance())
$TrafficArea/Lane1A/WaitTimerA.start()
func _on_Lane1B_SpawnTimer_timeout():
var nship_pos = self.get_position()
var lane_pos = $TrafficArea/Lane1B.get_global_position()
nship_pos = lane_pos
$TrafficArea/Lane1B.add_child(unknown.instance())
$TrafficArea/Lane1B/WaitTimerB.start()
func _on_Lane2_SpawnTimer_timeout():
var nship_pos = self.get_position()
var lane_pos = $TrafficArea/Lane2.get_global_position()
nship_pos = lane_pos
$TrafficArea/Lane2.add_child(unknown.instance())
$TrafficArea/Lane2/SpawnTimer.start()
func _on_Lane3_SpawnTimer_timeout():
var nship_pos = self.get_position()
var lane_pos = $TrafficArea/Lane3.get_global_position()
nship_pos = lane_pos
$TrafficArea/Lane3.add_child(unknown.instance())
$TrafficArea/Lane3/SpawnTimer.start()
func _on_WaitTimerA_timeout():
$TrafficArea/Lane1B/SpawnTimer.start()
func _on_WaitTimerB_timeout():
$TrafficArea/Lane1A/SpawnTimer.start()
I sort of know what to do, but I don’t exactly know how to do it.