Mostrando entradas con la etiqueta GDScript. Mostrar todas las entradas
Mostrando entradas con la etiqueta GDScript. Mostrar todas las entradas

jueves, 20 de febrero de 2025

GDScript, para Godot 4.3 efecto de sonido al entrar algo en un Area3d;

 extends Area3D


func _ready() -> void:

# Creamos el nodo AudioStreamPlayer3D

var sonido_al_entrar = AudioStreamPlayer3D.new()

# Lo añadimos como hijo del Area3D

add_child(sonido_al_entrar)

# Cargamos el sonido (reemplaza "res://ruta/al/sonido.wav" con la ruta correcta)

sonido_al_entrar.stream = load("res://SONIDOS/HOMBREALAGUA.mp3")


func _on_area_entered(area: Area3D) -> void:

# Reproducimos el sonido

$AudioStreamPlayer3D.play()


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

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

Exlicacion: En mi nuevo videojuego sobre temas marinos que estoy haciendo con Godot 4.3 queria hacer el efecto de sonido cuando un hombre cae al agua, y lo realice consultando a la IA, y aplicando la ruta donde tenia yo, mi sonido particular "res://SONIDOS/HOMBREALAGUA.mp3".

La IA me resulta muy util pero no lo hace todo, tambien hay que esforzarse y entender, como poner las cosas. Muestro el video pero aqui en este video aun no tiene la captura de video de mi abance, lo pongo para promocionarme ¡¡¡¡¡¡





martes, 4 de febrero de 2025

Gdscript, para Godot 4.3 sube un Area3d en eje "y" y a los 14 segundos lo borra; borra el Area3d;

 extends Area3D


var self_destruct_time = 14.0

var elapsed_time = 0.0


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

func _ready() -> void:

        pass # Replace with function body.


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

func _process(delta: float) -> void:

        elapsed_time += delta

        translate(Vector3(0, 0.019, 0)) # Corrected Vector3 values

        if elapsed_time >= self_destruct_time:

                queue_free()

jueves, 30 de enero de 2025

GDScript, proboca que al presionar "W" aga particulas y al no presionar no;

 extends CPUParticles3D


# Nombre de la acción en el mapa de entrada que controla las partículas

@export var accion_activar_particulas: String = "ANDAALANTECONW"


func _process(delta):

# Verifica si la acción está siendo presionada

if Input.is_action_pressed(accion_activar_particulas):

# Si la acción está presionada y las partículas no están emitiendo, comienza a emitir

if not emitting:

emitting = true

else:

# Si la acción no está presionada y las partículas están emitiendo, deja de emitir

if emitting:

emitting = false

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

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

explicacion: en godot 4.3 en la configuracion de teclado puse para utilizar la"W" para caminar de mapa de entrada con el nombre "ANDAALANTECONW", en este GDScript ago un efecto de burbujas que solo funcionan cuando el personaje camina, un pèrsonaje debajo del agua..........

lunes, 9 de diciembre de 2024

GDScript, para Godot 4.3, andar y dar dos golpes zarpazos diferentes, presionando, ESPACIO tecla y ALT tecla;

 




extends Node3D




var animacion_actual = "ANDASOLO"#ANIMACION CONTINUA Y FIJA DE CAMINAR


func _ready():

$AnimationPlayer.play("ANDASOLO")#ANIMACION CONTINUA Y FIJA

pass # Replace with function body.


func _physics_process(delta):


# Agacharse


if Input.is_action_just_pressed("ui_accept"):#TECLA ESPACIO AL PRESIONAR GOLPEA


if animacion_actual != "MakeHuman default skeleton|ATCA":


$AnimationPlayer.play("MakeHuman default skeleton|ATCA")


animacion_actual = "MakeHuman default skeleton|ATCA"


if Input.is_action_just_released("ui_accept"):#TECLA ESPACIO AL SOLTAR VUELVE ANIMACION ANDAR


if animacion_actual != "MakeHuman default skeleton|ANDASOLO":


$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")


animacion_actual = "MakeHuman default skeleton|ANDASOLO"

if Input.is_action_just_pressed("RETUERCE"):#TECLA ALT AL PRESIONAR DA ZARPAZO


if animacion_actual != "MakeHuman default skeleton|GIRACABEZAYZARPAZO":


$AnimationPlayer.play("MakeHuman default skeleton|GIRACABEZAYZARPAZO")


animacion_actual = "MakeHuman default skeleton|GIRACABEZAYZARPAZO"



if Input.is_action_just_released("RETUERCE"):#TECLA ALT AL SOLTAR VUELVE A CAMINAR NORMAL


if animacion_actual != "MakeHuman default skeleton|ANDASOLO":


$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")


animacion_actual = "MakeHuman default skeleton|ANDASOLO"

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

Explicación: en este GDScript e conseguido hacer las animaciones de andar y de golpear de dos formas diferentes , y que de forma fluida y coherente den movimiento al personaje, la animación de andar es continua al presionar tecla espacio da un zarpazo, la misma tecla al soltarla el personaje vuelve a  andar y de la misma forma al presionar tecla alt el personaje da otro tipo de movimiento de ataque diferente y al soltar tecla alt vuelve a la animación de andar con normalidad......


las teclas alt y espacio estan en el mapa de entrada de godot4.3 con el nombre de ATACA y de RETUERCE.....

son animaciones echas a mano, me gusta hacerlas yo aun son torpes pero estoy completamente seguro que con mas tiempo y practicas tendran mas calidad y seran mas personales y estilisticas....


musica del video de https://creativecommons.org/licenses/by/4.0/

domingo, 8 de diciembre de 2024

GDScript, personaje animado anda presiono espacio ataca suelto espacio sigue andando;

 extends Node3D




var animacion_actual = "ANDASOLO"


func _ready():

$AnimationPlayer.play("ANDASOLO")

pass # Replace with function body.


func _physics_process(delta):


# Agacharse


if Input.is_action_just_pressed("ui_accept"):


if animacion_actual != "MakeHuman default skeleton|ATCA":


$AnimationPlayer.play("MakeHuman default skeleton|ATCA")


animacion_actual = "MakeHuman default skeleton|ATCA"


if Input.is_action_just_released("ui_accept"):


if animacion_actual != "MakeHuman default skeleton|ANDASOLO":


$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")


animacion_actual = "MakeHuman default skeleton|ANDASOLO"

domingo, 21 de julio de 2024

GDScript, decremento del numero 24 al 0 tanto para label como para label3d;

 extends Label3D


var tiempo_restante = 24 # Número inicial


func _ready():

# Actualiza el Label con el tiempo restante inicial

text = str(int(tiempo_restante))


func _process(delta: float):

# Decrementa el tiempo restante cada segundo

tiempo_restante -= delta


# Actualiza el Label con el tiempo restante actualizado

if tiempo_restante >= 0:

text = str(int(tiempo_restante))

else:

text = "Tiempo terminado"




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

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


extends Label




var tiempo_restante = 24 # Número inicial


func _ready():

# Actualiza el Label con el tiempo restante inicial

text = str(int(tiempo_restante))


func _process(delta: float):

# Decrementa el tiempo restante cada segundo

tiempo_restante -= delta


# Actualiza el Label con el tiempo restante actualizado

if tiempo_restante >= 0:

text = str(int(tiempo_restante))

else:

text = "Tiempo terminado"










martes, 7 de mayo de 2024

GDScript, produce disparos con el mouse, rafagas de disparos girando la rueda del mouse; todo rafagas;para disparos de 1 en 1, solamente presionar 1-----if event.button_index == 1 and event.pressed :;

 extends Area3D


var Bullet = preload("res://PROYECTIL.tscn")


func _ready():


pass # Replace with function body.



func _input(event):



if event is InputEventMouseButton:


#if event.button_index == 1:

#if event.button_index == 1 and event.pressed == false:

var bullet = Bullet.instantiate()



add_child(bullet)


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

para disparos de 1 en 1, sin rafaga, sin que salgan 2 disparos al presionar 1 y soltar 1, solamente presionar 1---------------if event.button_index == 1 and event.pressed :

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

extends Area3D


var Bullet = preload("res://PROYECTIL.tscn")


func _ready():


pass # Replace with function body.



func _input(event):



if event is InputEventMouseButton:


if event.button_index == 1 and event.pressed :

#event.button_index == MOUSE_BUTTON_LEFT and event.pressed:

var bullet = Bullet.instantiate()



add_child(bullet)


------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
al soltar la presion de la tecla del mouse....
--------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
extends Area3D

var Bullet = preload("res://PROYECTIL.tscn")

func _ready():

pass # Replace with function body.


func _input(event):


if event is InputEventMouseButton:

#if event.button_index == 1 and event.pressed :#AL,PRESIONAR
if event.button_index == 1 and not event.pressed :#AL SOLTAR
#event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
var bullet = Bullet.instantiate()


add_child(bullet)