55 lines
1.7 KiB
GDScript
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)
|