blob: 7d8aabd1b720431ab2f942a39f3ad3f356874e55 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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")
|