Files
dreamer-game/tests/_probe2.gd
2026-09-16 12:08:04 +02:00

55 lines
1.7 KiB
GDScript

extends Node
var main: Node3D
const OUT := "user://treppe/"
func _ready() -> void:
seed(7)
DirAccess.make_dir_recursive_absolute(ProjectSettings.globalize_path(OUT))
main = load("res://scenes/main.tscn").instantiate()
add_child(main)
await get_tree().process_frame
main.ui.schliessen()
Game.time_h = 11.0
main._erde()
await get_tree().process_frame
var sp: Player = main.player
var oben: Bewohner = null
for m in main.welt.humans:
if m.etage(str(m.data["heim"])) > 0 and Orte.etagen(HumanDB.PLACES, str(m.data["heim"])) >= 3:
oben = m
break
var heim := str(oben.data["heim"])
# 1 Erdgeschoss, am Fuß der Treppe
var t0 := Orte.treppe(HumanDB.PLACES, heim, 0)
var innen := Orte.innen_tuer(HumanDB.PLACES, heim)
sp.global_position = innen + Vector3(0, 0.3, 0)
sp.velocity = Vector3.ZERO
await knipse("1_erdgeschoss_treppe")
# 2 auf dem Wendepodest im ersten Stock
sp.global_position = Orte.treppe(HumanDB.PLACES, heim, 1) + Vector3(0, 0.3, 0)
sp.velocity = Vector3.ZERO
await knipse("2_podest_erster_stock")
# 3 Leine auf der Straße: an jemanden hängen, der unterwegs ist
var laeufer: Bewohner = null
for i in range(3000):
await get_tree().process_frame
for m in main.welt.humans:
if m._path.size() > 3 and m.etage(m.place) == 0:
laeufer = m
break
if laeufer != null:
break
sp.global_position = laeufer.global_position + Vector3(0, 0.3, 0)
sp.folgt = laeufer
for i in range(240):
await get_tree().process_frame
await knipse("3_leine_strasse")
get_tree().quit()
func knipse(name: String) -> void:
for i in range(30):
await get_tree().process_frame
await RenderingServer.frame_post_draw
get_viewport().get_texture().get_image().save_png(OUT + name + ".png")
print("Bild: " + name)