capitalex gist felülvizsgálása . Revízióhoz ugrás
1 file changed, 33 insertions
tabulacrum_test.gd(fájl létrehozva)
@@ -0,0 +1,33 @@ | |||
1 | + | extends Node2D | |
2 | + | var world = Tabulacrum.new() | |
3 | + | ||
4 | + | @onready var window_title = get_window().title | |
5 | + | func _ready() -> void: | |
6 | + | for _i in range(1000): | |
7 | + | world.conjure_entity() \ | |
8 | + | .it_is_a(["circle"]) \ | |
9 | + | .give_it( | |
10 | + | { position = Vector2(randi_range(100, 500), randi_range(100, 500)) | |
11 | + | , speed = randf_range(0, 5) | |
12 | + | , time = randf() * 2 * PI | |
13 | + | , size = randf_range(2,5) | |
14 | + | } | |
15 | + | ) \ | |
16 | + | .seal() | |
17 | + | ||
18 | + | func _draw() -> void: | |
19 | + | ||
20 | + | for id in world.grab_tome("circle"): | |
21 | + | var entity = world.summon_entity(id) | |
22 | + | var orbit = Vector2 \ | |
23 | + | ( cos(entity.time) * 10 + entity.position.x | |
24 | + | , sin(entity.time) * 10 + entity.position.y | |
25 | + | ) | |
26 | + | draw_circle(orbit, entity.size, Color.WHITE) | |
27 | + | ||
28 | + | func _process(delta: float) -> void: | |
29 | + | for id in world.grab_tome("time"): | |
30 | + | var entity = world.summon_entity(id) | |
31 | + | entity.time += delta * entity.speed | |
32 | + | get_window().title = "%s - %s fps" % [window_title, Engine.get_frames_per_second()] | |
33 | + | queue_redraw() |
Újabb
Régebbi