Godot, scripts para Godot estudios y aprendizajes, Creacion de videojuegos. Creacion y publicacion de videojuegos en internet. Como hacer videojuegos. C# unity. Animaciones unity blender. Personajes videojuegos graficos dibujos. Diseño grafico. Comic. Animaciones gif. Dibujo de retratos. Realidad virtual. Cine y realidad virtual.
lunes, 29 de abril de 2024
Mi juego; venga a disfrutarlo todo el mundo mayor de 18 años;
domingo, 28 de abril de 2024
El Loco del Cruzero, demo de videojuego echo con Godot 4.2 3Dimensiones;
jueves, 25 de abril de 2024
GDScript metodo de entrada de teclado, al presionar "W" rota un MeshInstance3D;
extends MeshInstance3D
func _unhandled_input(event):
if event.pressed and event.keycode == KEY_W:
rotate_y(10.33)
#$AudioStreamPlayer3D.play()
# 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
--------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
EXPLICACION: Otro script que en teoria es corrcto pero me crea un conflicto con el resto de nodos y escenas de mi juego....e de estudiar que pasa........ como se ve en la captura de pantalla las flechitas azules de la izquierda indican que esta correcto....!!!!
Posible sonido al presionar espacio, para un Area3d con godot 4.2, si no existen otros sonidos; GDScript;
extends Area3D
# Called when the node enters the scene tree for the first time.
func _ready():
if Input.is_action_pressed("ui_accept"):
$"AudioStreamPlayer3D SUENANSUSPASOS".play()
if Input.is_action_just_released("ui_accept"):
$"AudioStreamPlayer3D SUENANSUSPASOS".play()
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
#if Input.is_action_pressed("w"):
pass
martes, 23 de abril de 2024
Script en 5 lineas hace animacion repetitiva en loop, para godot 4.2, en GDScript;
extends Node3D
func _ready():
$AnimationPlayer.play("CABREADA1")
func _process(delta):
pass
domingo, 21 de abril de 2024
Desde un Area3d Rota label3d constantemente y lo escala a mayor , borra SoftBody3, borra CollisionShape3D; GDScript Godot 4.2;
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):
$Label3DDICEIMBECIL.rotate_y(delta * 1.9)
pass
func _on_area_entered(area):
var escala_actual = $Label3DDICEIMBECIL.scale
$Label3DDICEIMBECIL.scale = escala_actual * 18.0
var parent = get_parent()
var Turbo = parent.get_node("$SoftBody3Dvestido")
$SoftBody3Dvestido.queue_free()
$CollisionShape3Dquieroborrartambien.queue_free()
pass # Replace with function body.
-----------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
Exlicacion: desde enlace muy buenos estos scripts...https://videojuegosenlineaasaco4.blogspot.com/2024/04/borrar-elementos-concretos-de-un-area3d_21.html
Borrar elementos concretos de un Area3D mediante scriptGDScript Godot 4.2; + poner un Label3d de texto que se amplia en esa colision;
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):
var escala_actual = $Label3DDICEIMBECIL.scale
$Label3DDICEIMBECIL.scale = escala_actual * 2.0
var parent = get_parent()
var Turbo = parent.get_node("$SoftBody3Dvestido")
$SoftBody3Dvestido.queue_free()
$CollisionShape3Dquieroborrartambien.queue_free()
pass # Replace with function body.
--------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
EXPLICACION Y CAPTURA DE PANTALLA:
Tengo un personaje en Godot3d 4.2 al que por colision quiero borrarle el vestido, en el script me encontre con fallos que provocaban que el juego se bloquease, cuando el player tocaba al personaje le borraba el vestido y funcionaba bien, pero cuando lo volvia a tocar se bloqueaba el juego porque ....no borraba tambien el CollisionShape3Dquieroborrartambien que producia la orden de borrar el vestido, entonces entendi que al volver a tocar ese CollisionShape3Dquieroborrartambien que en el script mandaba borrar el SoftBody3Dvestido y el programa al correr veia que no existia ese elemento a borrar porque ya se hizo anteriormente, se contradecia y se paraba ,bloqueaba el juego, SOLUCION.......borrar tambien al colisionar, tocar, ese CollisionShape3Dquieroborrartambien y asi e conseguido solucionar ese bloqueo del juego, e tenido que pensar y razonar y me cuesta mucho la verdad, se me da muy mal programar, pero no me queda otra, si no imposible desarrollar con Godot 4.2
Borrar elementos concretos de un Area3D mediante scriptGDScript Godot 4.2;
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):
var parent = get_parent()
var Turbo = parent.get_node("$SoftBody3Dvestido")
$SoftBody3Dvestido.queue_free()
$CollisionShape3Dquieroborrartambien.queue_free()
pass # Replace with function body.
--------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
EXPLICACION Y CAPTURA DE PANTALLA:
Tengo un personaje en Godot3d 4.2 al que por colision quiero borrarle el vestido, en el script me encontre con fallos que provocaban que el juego se bloquease, cuando el player tocaba al personaje le borraba el vestido y funcionaba bien, pero cuando lo volvia a tocar se bloqueaba el juego porque ....no borraba tambien el CollisionShape3Dquieroborrartambien que producia la orden de borrar el vestido, entonces entendi que al volver a tocar ese CollisionShape3Dquieroborrartambien que en el script mandaba borrar el SoftBody3Dvestido y el programa al correr veia que no existia ese elemento a borrar porque ya se hizo anteriormente, se contradecia y se paraba ,bloqueaba el juego, SOLUCION.......borrar tambien al colisionar, tocar, ese CollisionShape3Dquieroborrartambien y asi e conseguido solucionar ese bloqueo del juego, e tenido que pensar y razonar y me cuesta mucho la verdad, se me da muy mal programar, pero no me queda otra, si no imposible desarrollar con Godot 4.2
miércoles, 17 de abril de 2024
Script para animar humanoide y rotarlo a si mismo desde un nodo3d para godot 4.2;
extends Node3D
# 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):
rotate_y(0.1)
$AnimationPlayer.play("LAENFADA")
pass
martes, 16 de abril de 2024
Script borra softbody3d de un personaje el vestido; godot 4.2; Script PARA RigidBody3D Y ALOS 3 SEGUNDOS LO BORRA ;
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):
$"LA VIEJA/SoftBody3D".queue_free()
$"LA VIEJA/SoftBody3D3".queue_free()
$"LA VIEJA/SoftBody3D4".queue_free()
$"LA VIEJA/SoftBody3D2".queue_free()
pass # Replace with function body.
lunes, 15 de abril de 2024
GDScript proboca explosion y borra barco y sale barco roto, instancia explosion bolas instancia barco roto y borra barco sin destruir;
extends Area3D
var esfera_prefab = preload("res://BARCO Y ELEMENTOS DEL BARCO/BOTE/BOTECAIDO.tscn") # Precarga el prefab del barco (bote caído)
var explosion_prefab = preload("res://ESCENAS/EXPLOSION BAJO BOTE.tscn") # Precarga el prefab de la explosión (invento genial)
# Called when the node enters the scene tree for the first time.
func _ready():
pass # No hay necesidad de código inicial en este ejemplo
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass # No hay necesidad de código por frame en este ejemplo
# Detecta cuando otro nodo entra en el área
func _on_area_entered(area):
# Verifica si el objeto que entró tiene un nodo CollisionShape3D
if area.has_node("CollisionShape3D"):
var barco_instancia = esfera_prefab.instantiate()
# Crea una instancia del prefab de la explosión (invento genial)
var explosion_instancia = explosion_prefab.instantiate()
# Agrega las instancias como hijos de este nodo
add_child(barco_instancia)
add_child(explosion_instancia)
# Detecta cuando otro nodo sale del área (opcional)
func _on_area_exited(area):
var parent = get_parent()
var CollisionShape3Dcubo = parent.get_node("CollisionShape3D")
get_node("CollisionShape3D").queue_free() # Intento de eliminar CollisionShape3D propio (comentado)
Instancia bolas cuando entra en un Area3d el player y cuando presiona boton del mouse, para godot 4,2 3D; GDScript;
extends Area3D
var Bullet = preload("res://ESCENAS/EXPLOSION BAJO BOTE.tscn")
func _ready():
pass # Replace with function body.
func _input(event):
if event is InputEventMouseButton:
if event.button_index == 1:
var bullet = Bullet.instantiate()
add_child(bullet)
func _on_area_entered(area):
var bullet = Bullet.instantiate()
add_child(bullet)
-----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
En el script de debajo funciona solo cuando pasa por su Area3d, pusimos signo"#" a lo que no queremos que ejecute
----------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
extends Area3D var Bullet = preload("res://ESCENAS/EXPLOSION BAJO BOTE.tscn") func _ready(): pass # Replace with function body. #func _input(event): #if event is InputEventMouseButton: #if event.button_index == 1: #var bullet = Bullet.instantiate() #add_child(bullet) func _on_area_entered(area): var bullet = Bullet.instantiate() add_child(bullet)
A los 3 segundos borra nodo3d, y todo su contenido para Godot 4.2; Script GDScript;
extends Node3D
var tiempo_transcurrido = 0.0 # Variable para almacenar el tiempo transcurrido
func _process(delta):
# Actualizar el tiempo transcurrido
tiempo_transcurrido += delta
# Eliminar el nodo después de 3 segundos
if tiempo_transcurrido >= 3.0:
queue_free() # Elimina el nodo de la escena
viernes, 12 de abril de 2024
Anima label y lo borra por tiempo, titulo de juego; para Godot 4.2;
extends Label
var tiempo_de_vida = 4.0 # Duración en segundos antes de eliminar el Label
func _ready():
# Obtener el Label que queremos usar
var label_tiempo_vida = $"."
# Mostrar el texto del Label en este Label
text = label_tiempo_vida.text
# Iniciar el temporizador
$Timer.start(tiempo_de_vida)
func _on_timer_timeout():
# Eliminar el Label
queue_free()
func _process(delta):
$AnimationPlayer.play("FONDOMUEBETE")
# Si el tiempo de vida ha llegado a 0, eliminar el Label
if tiempo_de_vida <= 0:
_on_timer_timeout()
return
# Reducir el tiempo de vida en cada frame
tiempo_de_vida -= delta
EN GODOT 4.2, SCRIPT POR PUNTUACION SI LLEGA A LOS 8 PUNTOS BORRA LA ESCENA Y CAMBIA A OTRA CON CAMARA FUNCIONA¡¡¡¡¡¡¡¡;
--------------------------------------------------------------------------------------------------------------------
viernes, 5 de abril de 2024
Captura en video de mi proximo videojuego desarrollandolo con Godot 4.2, comentarios;
martes, 2 de abril de 2024
Script para Godot 4.2 3D , contenido en un CPUParticles3D el script , proboca que a los 3 segundos se dirija a una escena diferente del juego;
extends CPUParticles3D
var tiempo_transcurrido: float = 0.0
# Función que se ejecuta al entrar la escena por primera vez.
func _ready():
pass # Reemplaza con el cuerpo de la función si es necesario.
# Función que se ejecuta cada frame. 'delta' es el tiempo transcurrido desde el frame anterior.
func _process(delta):
tiempo_transcurrido += delta
if tiempo_transcurrido >= 3.0:
# Cambiar la escena a "otro.tscn"
var siguiente_escena = preload("res://BARCO Y ELEMENTOS DEL BARCO/BARRIL EXPLOSIBO/bidon.tscn") # Precargar la escena
get_tree().change_scene_to_packed(siguiente_escena) # Cambiar a la escena precargada (Godot 4.2)
queue_free() # Liberar este nodo después del cambio de escena
pass
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
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