Improve Android controller support
This commit is contained in:
parent
b47f131797
commit
9c89116713
16 changed files with 647 additions and 31 deletions
40
ui/controller_virtual_cursor.gd
Normal file
40
ui/controller_virtual_cursor.gd
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
class_name ControllerVirtualCursor
|
||||
extends Control
|
||||
|
||||
const CURSOR_SIZE: Vector2 = Vector2(28.0, 28.0)
|
||||
const OUTER_COLOR: Color = Color(0.02, 0.10, 0.14, 0.96)
|
||||
const INNER_COLOR: Color = Color(0.34, 0.86, 0.91, 1.0)
|
||||
const CENTER_COLOR: Color = Color(0.96, 1.0, 1.0, 1.0)
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
size = CURSOR_SIZE
|
||||
mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
focus_mode = Control.FOCUS_NONE
|
||||
visible = false
|
||||
queue_redraw()
|
||||
|
||||
|
||||
func set_pointer_position(pointer_position: Vector2) -> void:
|
||||
position = pointer_position - CURSOR_SIZE * 0.5
|
||||
|
||||
|
||||
func _draw() -> void:
|
||||
var center: Vector2 = CURSOR_SIZE * 0.5
|
||||
draw_circle(center, 8.0, OUTER_COLOR)
|
||||
draw_circle(center, 5.0, INNER_COLOR)
|
||||
draw_circle(center, 1.75, CENTER_COLOR)
|
||||
draw_line(Vector2(center.x, 0.0), Vector2(center.x, 6.0), CENTER_COLOR, 2.0)
|
||||
draw_line(
|
||||
Vector2(center.x, CURSOR_SIZE.y - 6.0),
|
||||
Vector2(center.x, CURSOR_SIZE.y),
|
||||
CENTER_COLOR,
|
||||
2.0,
|
||||
)
|
||||
draw_line(Vector2(0.0, center.y), Vector2(6.0, center.y), CENTER_COLOR, 2.0)
|
||||
draw_line(
|
||||
Vector2(CURSOR_SIZE.x - 6.0, center.y),
|
||||
Vector2(CURSOR_SIZE.x, center.y),
|
||||
CENTER_COLOR,
|
||||
2.0,
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue