style: align and refine bottom bar layout with title, description and play button
This commit is contained in:
@@ -244,20 +244,19 @@ func _transition_bottom_bar(which: String) -> void:
|
||||
piedone_tween = create_tween()
|
||||
piedone_tween.set_pause_mode(Tween.TWEEN_PAUSE_PROCESS)
|
||||
|
||||
# Se è già visibile/alzato, scende prima di risalire
|
||||
if piedone.position.y < hidden_y * 0.5:
|
||||
# Quando l'utente tocca un tendone, Piedone scende e si rialza aggiornato
|
||||
piedone_tween.tween_property(piedone, "position:y", hidden_y, 0.25).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_IN)
|
||||
piedone_tween.tween_callback(func(): _update_piedone_content(which))
|
||||
piedone_tween.tween_property(piedone, "position:y", v_height * 0.025, 0.45).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
|
||||
piedone_tween.tween_property(piedone, "position:y", target_y, 0.25).set_trans(Tween.TRANS_BOUNCE).set_ease(Tween.EASE_OUT)
|
||||
else:
|
||||
# Parte da nascosto: aggiorna subito e sale
|
||||
_update_piedone_content(which)
|
||||
piedone_tween.tween_property(piedone, "position:y", v_height * 0.025, 0.60).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
|
||||
piedone_tween.tween_property(piedone, "position:y", target_y, 0.35).set_trans(Tween.TRANS_BOUNCE).set_ease(Tween.EASE_OUT)
|
||||
|
||||
|
||||
func _update_piedone_content(which: String) -> void:
|
||||
piedone_play.visible = true
|
||||
# Riposiziona il titolo sopra alla descrizione
|
||||
MenuUI.set_normalized_rect(piedone_title, Vector2(0.38, 0.845), Vector2(0.52, 0.065))
|
||||
piedone_title.horizontal_alignment = HORIZONTAL_ALIGNMENT_LEFT
|
||||
|
||||
if which == "juggle":
|
||||
piedone_title.text = "JUGGLEBOARD"
|
||||
piedone_desc.text = "Allena ritmo e coordinazione con le biglie e i lanci a bersaglio."
|
||||
@@ -265,6 +264,8 @@ func _update_piedone_content(which: String) -> void:
|
||||
piedone_title.text = "PALESTRA DI GIOCOLERIA"
|
||||
piedone_desc.text = "Scopri gli attrezzi del circo: clave, palline, piatti e rola bola."
|
||||
|
||||
piedone_desc.visible = true
|
||||
|
||||
|
||||
func _on_play_pressed() -> void:
|
||||
if selected_tent == "juggle":
|
||||
@@ -274,7 +275,7 @@ func _on_play_pressed() -> void:
|
||||
|
||||
|
||||
func _add_bottom_bar() -> void:
|
||||
# Il piedone parte abbassato/nascosto all'avvio.
|
||||
# Piedone parte nascosto e sale all'avvio con testo centrale "Tocca uno dei tendoni"
|
||||
piedone = Control.new()
|
||||
piedone.name = "Piedone"
|
||||
piedone.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
@@ -294,24 +295,25 @@ func _add_bottom_bar() -> void:
|
||||
piedone.add_child(rule)
|
||||
MenuUI.set_normalized_rect(rule, Vector2(0.50, item[0]), Vector2(1.0, item[1] / 720.0))
|
||||
|
||||
# Titolo del gioco selezionato
|
||||
piedone_title = MenuUI.add_label(piedone, "", Vector2(0.28, 0.84), Vector2(0.46, 0.07), 24)
|
||||
piedone_title.horizontal_alignment = HORIZONTAL_ALIGNMENT_LEFT
|
||||
# Titolo / invito iniziale: allineato armoniosamente nella colonna sinistra
|
||||
piedone_title = MenuUI.add_label(piedone, "Tocca uno dei tendoni", Vector2(0.38, 0.885), Vector2(0.52, 0.09), 26)
|
||||
piedone_title.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
|
||||
# Descrizione del gioco
|
||||
# Descrizione del gioco: posizionata direttamente sotto al titolo
|
||||
piedone_desc = Label.new()
|
||||
piedone_desc.text = ""
|
||||
piedone_desc.horizontal_alignment = HORIZONTAL_ALIGNMENT_LEFT
|
||||
piedone_desc.vertical_alignment = VERTICAL_ALIGNMENT_TOP
|
||||
piedone_desc.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
|
||||
piedone_desc.add_theme_font_override("font", MenuUI.DISPLAY_FONT)
|
||||
piedone_desc.add_theme_font_size_override("font_size", 16)
|
||||
piedone_desc.add_theme_font_size_override("font_size", 17)
|
||||
piedone_desc.add_theme_color_override("font_color", Color("#423832"))
|
||||
piedone_desc.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
piedone_desc.visible = false
|
||||
piedone.add_child(piedone_desc)
|
||||
MenuUI.set_normalized_rect(piedone_desc, Vector2(0.28, 0.92), Vector2(0.46, 0.08))
|
||||
MenuUI.set_normalized_rect(piedone_desc, Vector2(0.38, 0.925), Vector2(0.52, 0.08))
|
||||
|
||||
# Pulsante GIOCA sul lato destro del piedone
|
||||
# Pulsante GIOCA sul lato destro del piedone (coerente con i mockup P1 e P2a)
|
||||
piedone_play = TextureButton.new()
|
||||
piedone_play.ignore_texture_size = true
|
||||
piedone_play.stretch_mode = TextureButton.STRETCH_KEEP_ASPECT_CENTERED
|
||||
@@ -322,12 +324,17 @@ func _add_bottom_bar() -> void:
|
||||
piedone_play.mouse_entered.connect(func(): piedone_play.modulate = Color(1.08, 1.08, 1.08, 1.0))
|
||||
piedone_play.mouse_exited.connect(func(): piedone_play.modulate = Color.WHITE)
|
||||
piedone_play.pressed.connect(_on_play_pressed)
|
||||
piedone_play.visible = false
|
||||
piedone.add_child(piedone_play)
|
||||
MenuUI.set_normalized_rect(piedone_play, Vector2(0.79, 0.88), Vector2(0.24, 0.13))
|
||||
MenuUI.set_normalized_rect(piedone_play, Vector2(0.79, 0.885), Vector2(0.26, 0.14))
|
||||
|
||||
# Parte nascosto sotto lo schermo
|
||||
# Parte nascosto sotto lo schermo e si anima verso l'alto con rimbalzo elastico
|
||||
var viewport_height := get_viewport_rect().size.y
|
||||
piedone.position.y = viewport_height * 0.29
|
||||
var intro_tween := create_tween()
|
||||
intro_tween.set_pause_mode(Tween.TWEEN_PAUSE_PROCESS)
|
||||
intro_tween.tween_property(piedone, "position:y", viewport_height * 0.025, 0.85).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
|
||||
intro_tween.tween_property(piedone, "position:y", 0.0, 0.42).set_trans(Tween.TRANS_BOUNCE).set_ease(Tween.EASE_OUT)
|
||||
|
||||
|
||||
func _add_sign() -> void:
|
||||
|
||||
Reference in New Issue
Block a user