diff --git a/scenes/game_key.tscn b/scenes/game_key.tscn new file mode 100644 index 0000000..cd76af4 --- /dev/null +++ b/scenes/game_key.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=2 format=3 uid="uid://bryima34hc3yp"] + +[sub_resource type="BoxMesh" id="BoxMesh_72e4x"] +size = Vector3(0.25, 0.15, 0.25) + +[node name="GameKey" type="Node3D"] + +[node name="Mesh" type="MeshInstance3D" parent="."] +mesh = SubResource("BoxMesh_72e4x") + +[node name="Label3D" type="Label3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.0669861, 0.075748, -0.0306985) +pixel_size = 0.0015 +shaded = true +double_sided = false +alpha_cut = 1 +modulate = Color(0, 0, 0, 1) +text = "Q" +font_size = 72 +outline_size = 0 diff --git a/scenes/game_keyboard.tscn b/scenes/game_keyboard.tscn new file mode 100644 index 0000000..329f25a --- /dev/null +++ b/scenes/game_keyboard.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=3 format=3 uid="uid://dl5jgx2ucmvk7"] + +[ext_resource type="Script" uid="uid://c7ikemicshkhv" path="res://scripts/game_keyboard.gd" id="1_3k4ps"] +[ext_resource type="PackedScene" uid="uid://bryima34hc3yp" path="res://scenes/game_key.tscn" id="2_j5t22"] + +[node name="GameKeyboard" type="Node3D"] +script = ExtResource("1_3k4ps") +_game_key_scene = ExtResource("2_j5t22") diff --git a/scenes/test.tscn b/scenes/test.tscn index df1e96c..e0dc790 100644 --- a/scenes/test.tscn +++ b/scenes/test.tscn @@ -1,4 +1,6 @@ -[gd_scene load_steps=3 format=3 uid="uid://djmj08xtpgpgk"] +[gd_scene load_steps=4 format=3 uid="uid://djmj08xtpgpgk"] + +[ext_resource type="PackedScene" uid="uid://dl5jgx2ucmvk7" path="res://scenes/game_keyboard.tscn" id="1_errlg"] [sub_resource type="QuadMesh" id="QuadMesh_ij1v8"] size = Vector2(5, 2.175) @@ -19,3 +21,6 @@ transform = Transform3D(0.312269, -0.815913, 0.486594, -2.95249e-09, 0.512208, 0 [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_ij1v8") + +[node name="GameKeyboard" parent="." instance=ExtResource("1_errlg")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0721761, 0) diff --git a/scripts/game_keyboard.gd b/scripts/game_keyboard.gd index 61510e1..ddf7d76 100644 --- a/scripts/game_keyboard.gd +++ b/scripts/game_keyboard.gd @@ -1 +1,20 @@ -extends Node +class_name GameKeyboard extends Node3D + +@export var _game_key_scene: PackedScene +@export var _key_size: float = 0.25 +@export var _key_gap: float = 0.1 + + +func _ready() -> void: + _generate_keys() + + +func _generate_keys() -> void: + var keys_amount: int = 10 + var offset_x: float = ( + ((keys_amount - 1) * _key_size + (keys_amount - 1) * _key_gap) / 2 + ) + for i in range(keys_amount): + var game_key_node := _game_key_scene.instantiate() + add_child(game_key_node) + game_key_node.position.x = i * _key_size + _key_gap * i - offset_x diff --git a/scripts/game_keyboard.gd.uid b/scripts/game_keyboard.gd.uid index a7ef6ec..e13a756 100644 --- a/scripts/game_keyboard.gd.uid +++ b/scripts/game_keyboard.gd.uid @@ -1 +1 @@ -uid://vw7vupf1ese7 +uid://c7ikemicshkhv