blob: bae409d8999601e11d7cfd23773fc12bbbeefa0a (
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
32
33
34
35
36
37
38
39
40
41
42
|
extends ColorRect
onready var debug: RichTextLabel = get_node("/root/main/debug")
func _gui_input(event):
# if name == "a":
# accept_event()
# if name == "b" : #&& (event is InputEventScreenTouch):
# if name == "b":
# get_tree().set_input_as_handled()
# accept_event()
# if name == "b" && event is InputEventScreenTouch && event.is_pressed() == false:
# simulate_click()
# call_deferred("simulate_click")
if event is InputEventScreenTouch || event is InputEventMouseButton:
debug.text += "%s> %-24s\t:\t%s\n" % [name, event.get_class(), event.is_pressed()]
else:
debug.text += "%s> %s\n" % [name, event.get_class()]
func simulate_click():
var event_touch = InputEventScreenTouch.new()
event_touch.index = 0
event_touch.position = self.get_global_mouse_position()
var event_mouse = InputEventMouseButton.new()
event_mouse.button_index = BUTTON_LEFT
event_mouse.button_mask = BUTTON_MASK_LEFT
event_mouse.position = self.get_global_mouse_position()
self.mouse_filter = Control.MOUSE_FILTER_IGNORE
event_mouse.pressed = true
event_touch.pressed = true
# Input.parse_input_event(event_mouse)
Input.parse_input_event(event_touch)
event_mouse.pressed = false
event_touch.pressed = false
# Input.parse_input_event(event_mouse)
Input.parse_input_event(event_touch)
self.mouse_filter = Control.MOUSE_FILTER_STOP
|