initial commit
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
[gd_scene format=3 uid="uid://bl1fe6rldpncu"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cr4oydwvmm28y" path="res://widgets/accelerometer/scripts/accelerometer_widget_node.gd" id="1_hqf45"]
|
||||
[ext_resource type="Script" uid="uid://cr4y57bw6jfd1" path="res://MoveableControl.gd" id="2_pog3i"]
|
||||
|
||||
[node name="AccelerometerWidget" type="Node2D" unique_id=1057256615]
|
||||
script = ExtResource("1_hqf45")
|
||||
metadata/_custom_type_script = "uid://cr4oydwvmm28y"
|
||||
|
||||
[node name="Panel" type="Panel" parent="." unique_id=1154284634]
|
||||
visible = false
|
||||
offset_left = -103.0
|
||||
offset_top = -103.0
|
||||
offset_right = 106.0
|
||||
offset_bottom = 106.0
|
||||
|
||||
[node name="AccelVector" type="Line2D" parent="." unique_id=108699994]
|
||||
points = PackedVector2Array(0, 0, 100, 100)
|
||||
begin_cap_mode = 2
|
||||
end_cap_mode = 2
|
||||
|
||||
[node name="XVector" type="Line2D" parent="." unique_id=1227326235]
|
||||
points = PackedVector2Array(0, 0, -100, -100)
|
||||
width = 5.0
|
||||
default_color = Color(1, 0, 0, 1)
|
||||
begin_cap_mode = 2
|
||||
end_cap_mode = 2
|
||||
|
||||
[node name="YVector" type="Line2D" parent="." unique_id=1118780031]
|
||||
width = 5.0
|
||||
default_color = Color(0, 1, 0, 1)
|
||||
begin_cap_mode = 2
|
||||
end_cap_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="." unique_id=749031600]
|
||||
offset_right = 40.0
|
||||
offset_bottom = 23.0
|
||||
|
||||
[node name="MovableControl" type="Control" parent="." unique_id=345939378 node_paths=PackedStringArray("move_target")]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_left = -103.0
|
||||
offset_top = -103.0
|
||||
offset_right = 106.0
|
||||
offset_bottom = 106.0
|
||||
mouse_filter = 1
|
||||
script = ExtResource("2_pog3i")
|
||||
move_target = NodePath("..")
|
||||
metadata/_custom_type_script = "uid://cr4y57bw6jfd1"
|
||||
@@ -0,0 +1,32 @@
|
||||
extends BaseWidgetNode
|
||||
class_name AccelerometerWidgetNode
|
||||
|
||||
var accel_vector: Line2D
|
||||
var x_vector: Line2D
|
||||
var y_vector: Line2D
|
||||
var label: Label
|
||||
var origin: Vector2 = Vector2(0., 0.)
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
super._ready()
|
||||
Signals.linear_acceleration_updated.connect(_on_linear_acceleration_updated)
|
||||
label = get_node('Label')
|
||||
accel_vector = get_node("AccelVector")
|
||||
accel_vector.points = [origin, origin]
|
||||
x_vector = get_node("XVector")
|
||||
x_vector.points = [origin, origin]
|
||||
y_vector = get_node("YVector")
|
||||
y_vector.points = [origin, origin]
|
||||
|
||||
func _on_linear_acceleration_updated(sensor_ip: String, linear_acceleration: Array):
|
||||
var accel_vec = Vector2(-linear_acceleration[1], linear_acceleration[0])
|
||||
var vec_norm: Vector2 = accel_vec.normalized()
|
||||
var vec_length: float = accel_vec.length()
|
||||
var accel_g = vec_length / Constants.g
|
||||
var x_vec = Vector2(vec_norm.x*vec_length, 0)
|
||||
accel_vector.points = [origin, accel_vec * 10]
|
||||
x_vector.points = [origin, x_vec * 10]
|
||||
y_vector.points = [x_vec * 10, accel_vec * 10]
|
||||
label.text = str(round(accel_g*100)/100) + ' g'
|
||||
@@ -0,0 +1 @@
|
||||
uid://cr4oydwvmm28y
|
||||
Reference in New Issue
Block a user