Threader.gd 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. extends KinematicBody2D
  2. var add = 10
  3. var thread = Thread.new()
  4. export(Texture) var texlight
  5. var speed = Vector2(10,10)
  6. var GDnativeClass = preload("res://bin/gdexample.gdns").new()
  7. var data = {'pos':Vector2(0,0),'name':'123'}
  8. func _bg_load(path):
  9. lightpos()
  10. call_deferred("_bg_load_done")
  11. func _bg_load_done():
  12. var tex = thread.wait_to_finish()
  13. func _process(delta):
  14. move_and_slide(speed)
  15. lightpos()
  16. # print(GDnativeClass.Area_of_interest(position,get_parent().children,600))
  17. # _on_load_pressed()
  18. func _on_load_pressed():
  19. if (thread.is_active()):
  20. return
  21. thread.start(self, "_bg_load")
  22. var tilesize = 256
  23. func lightpos():
  24. var x = int(position.x/tilesize)+32
  25. var y = int(position.y/tilesize)+32
  26. # var data = GDnativeClass.Area_of_interest(position,get_parent().blockmap[x][y],300)
  27. # var data = []
  28. # for i in get_parent().get_children():
  29. # if global_position.distance_to(i.global_position) > 600:
  30. # data.append(i.global_position)
  31. # get_parent()._data(data)
  32. get_parent()._data_blockmap(get_parent().blockmap[x][y])
  33. return
  34. func _ready():
  35. # print('Thread Started')
  36. randomize()
  37. var r = rand_range(0,600)
  38. var r1 = rand_range(0,1000)
  39. global_position = Vector2(r1,r)