add basic key row generation

This commit is contained in:
Teatov 2025-07-28 15:40:34 +10:00
parent 9db113c569
commit 6235621b32
5 changed files with 55 additions and 3 deletions

20
scenes/game_key.tscn Normal file
View File

@ -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

View File

@ -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")

View File

@ -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)

View File

@ -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

View File

@ -1 +1 @@
uid://vw7vupf1ese7
uid://c7ikemicshkhv