Hello. The most difficult moment for me has come - the random generation of the world. The player walks forward and objects are randomly created in front of him. I sketched the code that I pushed into _physics_procces and realized that this method is very bad, maybe you have better ways?
When the player walks about 1000 meters, I use this code again and I have lags:
func _physics_procces(delta):
if $Player.global_position.distanse_to(getpoint) >= 1000:
getpoint = $Player.global_position
var map1
var pos1 = $Player.global_position.x
var pos2 = $Player.global_position.y+1000
for i in 200:
map1 = Map1.instance()
add_child(map1)
map1.global_position = Vector2(
rng.randf_range(
pos1 - 1500,
pos1 + 1500),
rng.randf_range(
pos2 + 500,
pos2 + 1500)
)
pos1 = $Player.global_position.x
pos2 = $Player.global_position.y-1000
for i in 200:
map1 = Map1.instance()
add_child(map1)
map1.global_position = Vector2(
rng.randf_range(
pos1 - 1500,
pos1 + 1500),
rng.randf_range(
pos2 - 500,
pos2 - 1500)
)
pos1 = $Player.global_position.x+1000
pos2 = $Player.global_position.y
for i in 200:
map1 = Map1.instance()
add_child(map1)
map1.global_position = Vector2(
rng.randf_range(
pos1 + 500,
pos1 + 1500),
rng.randf_range(
pos2 - 2500,
pos2 + 2500)
)
pos1 = $Player.global_position.x-1000
pos2 = $Player.global_position.y
for i in 200:
map1 = Map1.instance()
add_child(map1)
map1.global_position = Vector2(
rng.randf_range(
pos1 - 500,
pos1 - 1500),
rng.randf_range(
pos2 - 2500,
pos2 + 2500)
)