martes, 2 de abril de 2024

Script que al explosionar un recipiente, a los 5 segundos se borran las particulas y se reinicia el juego, en Godot 4.2;

extends CPUParticles3D

var tiempo_transcurrido: float = 0.0


# Called when the node enters the scene tree for the first time.

func _ready():

pass # Replace with function body.



# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta):

tiempo_transcurrido += delta

if tiempo_transcurrido >= 5.0:

get_tree().reload_current_scene()

queue_free()

pass

----------------------------------------------------------------
----------------------------------------------------------------
-----------------------------------------------------------------
EXPLICACION:
Mi player toca un bidon de gasolina, este explota y alos 5 segundos se reinicia el juego ademas de borrar sus particulas.......

Script en Godot 4.2 3d, borra particulas a los 5 segundos;

 extends CPUParticles3D

var tiempo_transcurrido: float = 0.0


# Called when the node enters the scene tree for the first time.

func _ready():

pass # Replace with function body.



# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta):

tiempo_transcurrido += delta

if tiempo_transcurrido >= 5.0:

queue_free()

pass


viernes, 29 de marzo de 2024

Script para Godot 4.2 crea animacion 1 sola vez traslada al personaje en eje "z" y alos 1,8 segundos lo borra del juego;

 extends Node3D

var speed = 15

var tiempo_transcurrido = 0.0


# Variable para controlar si la animación ya se ha reproducido


var animacion_reproducida = false




# Llamado cuando el nodo entra al árbol de escena por primera vez.


func _ready():


pass  # Mantenemos esta parte sin cambios




# Llamado cada frame. 'delta' es el tiempo transcurrido desde el frame anterior.


func _process(delta):

var movimiento = Vector3(0, 0, speed * delta)

#var movimiento = Vector3(speed * delta, 0, 0)

# Aplicar el movimiento a la posición del nodo

translate(movimiento)

# Actualizar el tiempo transcurrido

tiempo_transcurrido += delta


# Eliminar el nodo después de 2 segundos

if tiempo_transcurrido >= 1.8:

queue_free()



# Si la animación no se ha reproducido aún


if not animacion_reproducida:


# Reproducimos la animación "MUERTASEPONEPIE"


$AnimationPlayer.play("CAE")


# Establecemos la variable a true para indicar que ya se reprodujo


animacion_reproducida = true


Script para Godot 4.2 traslada un objeto en eje "z" ; tambien pruduce su animacion para 1 sola vez y se detiene esta animacion;

 extends Node3D

var speed = 15



# Variable para controlar si la animación ya se ha reproducido


var animacion_reproducida = false




# Llamado cuando el nodo entra al árbol de escena por primera vez.


func _ready():


pass  # Mantenemos esta parte sin cambios




# Llamado cada frame. 'delta' es el tiempo transcurrido desde el frame anterior.


func _process(delta):

var movimiento = Vector3(0, 0, speed * delta)

#var movimiento = Vector3(speed * delta, 0, 0)

# Aplicar el movimiento a la posición del nodo

translate(movimiento)

Script para Godot 4.2; suma puntos, produce animacion, produce sonido;

 extends Area3D

var score = 0


# Called when the node enters the scene tree for the first time.

func _ready():

pass # Replace with function body.



# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta):

pass



func _on_area_entered(area):

$Label3D.text = str(score)

score += 1

$"../AnimationPlayer".play("EXPLOTA")

$"../AnimationPlayer/AudioStreamPlayer3D".play()

pass # Replace with function body.



-----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
EXPLICACION;
Esta escript puesto en un Area 3d al player hace que cambie la animacion del player cuando su area3d toca algo , otra area3d , hace que sume 1 punto y hace que produzca un sonido.....El area3d parte del personaje y tiene de hijo un CollisionShape3D y tiene de hijo tambien un Label3D.

miércoles, 27 de marzo de 2024

SCRIPT PARA GODOT 4.2 CUANDO TOCA UN AREA3D EL PLAYER CAMBIA SU ANIMACION Y PRODUCE UN SONIDO;

 extends Area3D



# Called when the node enters the scene tree for the first time.

func _ready():

pass # Replace with function body.



# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta):

pass



func _on_area_entered(area):

$"../AnimationPlayer".play("EXPLOTA")

$"../AnimationPlayer/AudioStreamPlayer3D".play()

pass # Replace with function body.


martes, 26 de marzo de 2024

Una forma de audio para godot 4.2; Script gdscript; pulsando boton del mouse y soltando;

 extends AnimationPlayer


var audio_stream: AudioStream


func _ready():

audio_stream = load("res://EL SONIDO/RUJEScorto.ogg")

var audio_player = AudioStreamPlayer.new()

audio_player.stream = audio_stream

add_child(audio_player)


#func _on_AnimationPlayer_input_event(event):

func _input(event):




if event is InputEventMouseButton:




if event.button_index == 1:

$AudioStreamPlayer3D.play()



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

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

En el script de devajo al soltar la pulsacion se detiene el sonido , el script inferior es correcto....

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

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

extends AnimationPlayer


var audio_stream: AudioStream


func _ready():

audio_stream = load("res://EL SONIDO/RUJEScorto.ogg")

var audio_player = AudioStreamPlayer.new()

audio_player.stream = audio_stream

add_child(audio_player)


func _input(event):

if event is InputEventMouseButton:

if event.button_index == 1:  # Botón izquierdo del mouse

if event.pressed:

$AudioStreamPlayer3D.play()  # Reproduce el sonido al presionar

else:

$AudioStreamPlayer3D.stop()  # Detiene el sonido al soltar