arduino stuffs
Diffstat (limited to 'car_driver/godot/Input.gd')
| -rw-r--r-- | car_driver/godot/Input.gd | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/car_driver/godot/Input.gd b/car_driver/godot/Input.gd index 4606f45..bbc4e49 100644 --- a/car_driver/godot/Input.gd +++ b/car_driver/godot/Input.gd @@ -1,6 +1,9 @@ extends Node -var input : Vector2 +var input: Vector2 + +onready var lb = $Label + func prepare(v: Vector2) -> Vector2: v = v.normalized() @@ -8,18 +11,21 @@ func prepare(v: Vector2) -> Vector2: v.x = 1 - v.x if v.y < 0: v.y = 1 - v.y - v=v.round() + v = v.round() return v func _physics_process(_delta): - var inp := get_input() - if input != inp: - print(inp) - input = inp - SerialIO.send("H%s%s" % [inp.x, inp.y]) - -func get_input()->Vector2: - var x := Input.get_axis("ui_left", "ui_right") - var y := Input.get_axis("ui_up", "ui_down") - return prepare(Vector2(x, y)) + input = get_input() + lb.text =str(input) + SerialIO.send("H%s,%s" % [input.x, input.y]) + + +func get_input() -> Vector2: + var x := Input.get_action_strength("leftpaddle") + var y := Input.get_action_strength("rightpaddle") + if Input.is_action_pressed("lb"): + x = x + 1 if x != 0 else 1.01 + if Input.is_action_pressed("rb"): + y = y + 1 if y != 0 else 1.01 + return (Vector2(x, y) * 100).round() |