Mostrando entradas con la etiqueta Godot4.4;. Mostrar todas las entradas
Mostrando entradas con la etiqueta Godot4.4;. Mostrar todas las entradas

domingo, 30 de marzo de 2025

GDScript baja puntuacion y escala a reduccion Sprite2D y mesh_instance_3d; hace efectos de barra de vida; funciona;Godot4.4;

 extends Area3D


var score = 10

@onready var mesh_instance_3d = $"../../CharacterBody3D/CollisionShape3D/PROTAGONISTA EXPLORADORA VARIOS MOVIMIENTOS ANDAR CORRER GRITAR_/MeshInstance3D2 PRUEBAS DE CORAZON"

@onready var sprite_rojo = $"Sprite2D rojo"

@onready var label_resta = $"Label resta"


func _ready():

actualizar_visualizacion()


func _on_area_entered(area: Area3D) -> void:

if area.is_ancestor_of(self): #evita que se active el trigger con el mismo objeto que contiene el script

return

#$AudioStreamPlayer3D.play() #si lo quieres activar descomentalo

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

sprite_rojo.scale = Vector2(escala, escala)

mesh_instance_3d.scale = Vector3(escala, escala, escala) #se corrige para que trabaje en 3D

if score <= 0:

sprite_rojo.visible = false

mesh_instance_3d.visible = false


func _on_timer_timeout() -> void:

pass


GDScript efectos de tembleque y de bombeo de un corazon 3d MeshInstance3D;Godot4.4;

 extends MeshInstance3D


@export var shake_amount: float = 5.0

@export var shake_speed: float = 5.4


var original_position: Vector3


func _ready():

original_position = position


func _process(delta):

var random_offset = Vector3(

randf_range(-shake_amount, shake_amount),

randf_range(-shake_amount, shake_amount),

randf_range(-shake_amount, shake_amount)  # Añadido componente Z

)

position = original_position + random_offset


-------------------------------------------------------------------------------------------------------------------------

----------------------------------------------- este de debajo bombea--------------------------------------------


extends MeshInstance3D


@export var pulse_amount: float = 0.5 # Cantidad de expansión/contracción

@export var pulse_speed: float = 2.0  # Velocidad del latido


var original_scale: Vector3

var time: float = 0.0


func _ready():

original_scale = scale


func _process(delta):

time += delta * pulse_speed

var pulse = sin(time) * pulse_amount

scale = original_scale + Vector3(pulse, pulse, pulse) # Expande/contrae uniformemente


# O, si quieres que el latido sea solo en un eje (por ejemplo, el Y):

# scale = original_scale + Vector3(0, pulse, 0)


sábado, 29 de marzo de 2025

extends Sprite2D un GDScript que hace un temblor al Sprite2D, efecto bueno para imitar el miedo de un corazon;Godot4.4;

 extends Sprite2D


@export var shake_amount: float = 5.0

@export var shake_speed: float = 10.0


var original_position: Vector2


func _ready():

    original_position = position


func _process(delta):

    var random_offset = Vector2(randf_range(-shake_amount, shake_amount), randf_range(-shake_amount, shake_amount))

    position = original_position + random_offset

--------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------

Explicacion: este GDScript se combina de maravilla con este enlace, en el que construyo un corazon que se va disipando, como barra de vida....Desarrollo y creacion de videojuegos.Godot,Unity,Blender,Gimp,Game Maker,: Barra de vida en Godot 4.4 en 3d; estudio GDScript;