extends Area3D
var score = 10
@onready var sprite = $Sprite2D # Cambiado a Sprite2D
@onready var label_resta = $"Label resta"
func _ready():
actualizar_visualizacion()
func _on_area_entered(area: Area3D) -> void:
#$AudioStreamPlayer3D.play()
score -= 1
actualizar_visualizacion()
if score < 0:
get_tree().change_scene_to_file("res://ESCENAS/1-world_environmentESCENA-1-.tscn")
func actualizar_visualizacion():
label_resta.text = str(score)
var escala = float(score) / 10.0 # Escala basada en la puntuación (0 a 1)
sprite.scale = Vector2(escala, escala) # Escala uniforme en 2D (Sprite2D)
if score <= 0:
sprite.visible = false # O puedes usar queue_free() para eliminar el nodo
func _on_timer_timeout() -> void:
pass
-------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------
Explicación; Se me ocurrió crear un tipo de barra de vida para Godot 4.4. en 3d asociando un grafico al contador de puntos, cuando un personaje choca con una columna se le baja la puntuación 1 punto, a la vez esta coordinado con un grafico, e pensado en un corazón que se va des escalando de forma coordinada ala puntuación que va perdiendo el personaje.........entonces el corazón se va empequeñeciendo dando sensación de perdida de vida........Esto lo hice con ayuda de la IA, yo de programar no tengo ni idea¡¡¡
Conseguí también un cambio de escena al morir el personaje….