最后活跃于 1734057676

capitalex's Avatar capitalex 修订了这个 Gist 1734057676. 转到此修订

1 file changed, 33 insertions

tabulacrum_test.gd(文件已创建)

@@ -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()
上一页 下一页