lunes, 25 de marzo de 2024

Script para godot 4.2 para que cuando algo toque una rueda esta gire;

 extends MeshInstance3D



# 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_3d_area_entered(area):

rotate_y(2.5)

pass # Replace with function body.

-------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
Explicacion:
 partiendo de un nodo MeshInstance3D con hijo un Area3d y un nieto CollisionShape3D cuando algo toca el CollisionShape3D  el MeshInstance3D  gira, el script lo tiene el MeshInstance3D y la señal el Area3d......

martes, 19 de marzo de 2024

Scripts para Godot 4.2 que instancia una sola vez; por mouse y por temporizador ; y repetitivamente;

 extends Area3D


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

var has_fired = false


func _ready():

pass


func _input(event):

if event is InputEventMouseButton && !has_fired:

if event.button_index == 1:

var bullet = Bullet.instantiate()

add_child(bullet)

has_fired = true


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

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

El de abajo instancia cada vez que se presiona boton del mouse

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

extends Area3D


var Bullet = preload("res://ESCENAS/player.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)

--------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
instancia ahora por tiempo a los 2 segundos transcurridos  constantemente
-------------------------------------------------------------------------------------------------------

extends Area3D

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

func _ready():
# Iniciar un temporizador
$Timer.start(2.0)

#func _on_Timer_timeout():
# Instanciar la bala después de 2 segundos
#var bullet = Bullet.instantiate()
#add_child(bullet)


func _on_timer_timeout():
var bullet = Bullet.instantiate()
add_child(bullet)
------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
Instancia una sola vez por tiempo al pasar 2 segundos
-------------------------------------------------------------------------------------------------------------------

extends Area3D

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

var has_fired = false

func _ready():
# Iniciar un temporizador
$Timer.start(2.0)

#func _on_Timer_timeout():
# Instanciar la bala después de 2 segundos
#var bullet = Bullet.instantiate()
#add_child(bullet)


func _on_timer_timeout():
if not has_fired:
var bullet = Bullet.instantiate()
add_child(bullet)
has_fired = true


jueves, 14 de marzo de 2024

Brothel for retired women, juego echo con Godot 4.2 en 3dimensiones;

 

CSGCylinder3D APARECE DESAPARECE CADA 0.25 SEGUNDOS;

 extends CSGCylinder3D


var tiempo_transcurrido: float = 0.0 # Tiempo transcurrido desde el último cambio de estado


func _physics_process(delta):

# Acumular el tiempo transcurrido

tiempo_transcurrido += delta


# Cambiar la visibilidad del CSGCylinder3D cada 0.25 segundos

if tiempo_transcurrido >= 0.25:

visible = !visible # Invertir el estado actual de la visibilidad

tiempo_transcurrido = 0.0


Script GDScript completo en español para encender y apagar una luz cada 0.25 segundos;

 extends OmniLight3D


var tiempo_transcurrido: float = 0.0 # Tiempo transcurrido desde el último cambio de estado


func _physics_process(delta):

# Acumular el tiempo transcurrido

tiempo_transcurrido += delta


# Cambiar el estado de la luz cada 0.25 segundos

if tiempo_transcurrido >= 0.25:

visible = !visible # Invertir el estado actual de la luz

tiempo_transcurrido = 0.0


miércoles, 13 de marzo de 2024

Script en GDScript godot 4.2 3 dimensiones Animacion la aga 1 sola vez y se pare cuando llege al ultimo digamos fps o fotograma;

 extends Node3D


# 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):

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

if not animacion_reproducida:

# Reproducimos la animación "MUERTASEPONEPIE"

$AnimationPlayer.play("MUERTASEPONEPIE")

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

animacion_reproducida = true


domingo, 10 de marzo de 2024

Cambiar el icono de tu juego compilado con resource_hacker;

 Me vuelto loco toda la mañana para poder cambiar el icono de mi exe de mi juego, personalizar los iconos es posible con Godot 4.2, cada maestrillo tiene su librillo, yo ayudandome de gimp y de resource_hacker, consigo personalizar mi icono del juego, ....