diff options
| author | Juan Linietsky | 2014-02-09 22:10:30 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2014-02-09 22:10:30 -0300 |
| commit | 0b806ee0fc9097fa7bda7ac0109191c9c5e0a1ac (patch) | |
| tree | 276c4d099e178eb67fbd14f61d77b05e3808e9e3 /demos/misc/threads/thread.gd | |
| parent | 0e49da1687bc8192ed210947da52c9e5c5f301bb (diff) | |
| download | godot-0b806ee.tar.gz godot-0b806ee.tar.zst godot-0b806ee.zip | |
GODOT IS OPEN SOURCE
Diffstat (limited to '')
| -rw-r--r-- | demos/misc/threads/thread.gd | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/demos/misc/threads/thread.gd b/demos/misc/threads/thread.gd new file mode 100644 index 000000000..7d8aabd1b --- /dev/null +++ b/demos/misc/threads/thread.gd @@ -0,0 +1,31 @@ + +extends Node2D + +# member variables here, example: +# var a=2 +# var b="textvar" + +var thread = Thread.new() + +#this function runs in a thread! +#threads always take one userdata argument +func _bg_load(path): + print("THREAD FUNC!") + #load the resource + var tex = ResourceLoader.load(path) + #call _bg_load_done on main thread + call_deferred("_bg_load_done") + return tex #return it + +func _bg_load_done(): + #wait for the thread to complete, get the returned value + var tex = thread.wait_to_finish() + #set to the sprite + get_node("sprite").set_texture(tex) + +func _on_load_pressed(): + if (thread.is_active()): + #already working + return + print("START THREAD!") + thread.start(self,"_bg_load","res://mona.png") |
