martes, 13 de febrero de 2024

DOS SCRIPTS GDSCRIPT ,PARA INSTANCIAR PARTICULAS Y PARA BORRAR AREA3D POR TIMER;

 extends Area3D


var Particulas = preload("res://GRAFICOS/TERRENO MONTAÑAS ETC/SOLOPARTICULASARMA.tscn")

var particulas_instanciadas: Node = null


func _ready():


pass # Replace with function body.


func _input(event):


if event is InputEventMouseButton:


if event.button_index == 1:

# Instanciar partículas al presionar el botón

if event.pressed:

particulas_instanciadas = Particulas.instantiate()

add_child(particulas_instanciadas)

# Eliminar partículas al soltar el botón

else:

if particulas_instanciadas:

#particulas_instanciadas.queue_free()

particulas_instanciadas = null




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

extends Area3D


var tiempo_de_vida = 1.0 # Duración en segundos antes de eliminar el Area3D


func _ready():

# Iniciar el temporizador

get_node("Timer_EliminarArea3D").start(tiempo_de_vida)





func _on_timer_eliminar_area_3d_timeout():

queue_free()

pass # Replace with function body.


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

EXPLICACION DE PORQUE ANOTO ESTOS DOS SCRIPTS GDSCRIPT:

Programar tiene miga, un script puede entrar en conflicto con otro script y bloquear el juego,

En el script de arriba del todo instancio unas particulas al presionar el boton del mouse, en el script de devajo de verde y la linea verde del primero, es para que en 1 segundo se borren esas particulas esa area 3d, entonces tuve que anular esta linea señalada de verde del script superior, y cuando disparo hace el fogonazo un segundo y ya esta que es lo que queria conseguir...#particulas_instanciadas.queue_free()

el signo # ala izquierda de las lineas anula la linea.......(continuara ...me lo paso pipa..............)


lunes, 12 de febrero de 2024

Script para godot4.2 3d Cuando presiono boton del mouse me instancia particulas, y cuando dejo de presionar las borra o deja de instanciar;

 extends Area3D


var Particulas = preload("res://GRAFICOS/TERRENO MONTAÑAS ETC/SOLOPARTICULASARMA.tscn")

var particulas_instanciadas: Node = null


func _ready():


pass # Replace with function body.


func _input(event):


if event is InputEventMouseButton:


if event.button_index == 1:

# Instanciar partículas al presionar el botón

if event.pressed:

particulas_instanciadas = Particulas.instantiate()

add_child(particulas_instanciadas)

# Eliminar partículas al soltar el botón

else:

if particulas_instanciadas:

particulas_instanciadas.queue_free()

particulas_instanciadas = null

Script para Godot4.2 3d cuando presiono boton del mouse me instancia particulas;

 extends Area3D


var Particulas = preload("res://GRAFICOS/TERRENO MONTAÑAS ETC/SOLOPARTICULASARMA.tscn")


func _ready():


pass # Replace with function body.



func _input(event):


if event is InputEventMouseButton:


if event.button_index == 1:


var particulas = Particulas.instantiate()



add_child(particulas)

Script para Godot 4.2 al presionar boton del mouse mantiene la rotacion si sigue presionado el boton;

 extends MeshInstance3D


# Speed of rotation (radians per second)

var rotation_speed: float = 90.0


# Stores button press state

var mouse_button_pressed: bool = false


# 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 based on mouse button press and delta time

if mouse_button_pressed:

rotate_z(rotation_speed * delta)


# Called when a mouse button is pressed.

func _input(event):

if event is InputEventMouseButton:

# Handle left mouse button press and release events

if event.button_index == 1:

# Update button press state based on event type

mouse_button_pressed = event.pressed


Script para godot4.2 solo cuando presiono boton del mouse hace un giro;

 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 _input(event):

if event is InputEventMouseButton:

if event.button_index == 1:

rotate_z(90.149)

# Add an "else" block or remove the "if" if not needed

Script para rotacion constante de un MeshInstance3D; es de formato obj; un arma que lleva un Player;

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

rotate_z(0.049)



pass


domingo, 11 de febrero de 2024

Resumen de lo que puedo hacer con Godot 3d 4.2 despues de unos 3 meses de aprendizaje autodidacta;

 -1-Instanciar proyectiles, y otros graficos, util para derribar enemigos y cambiarlos por duplicados derribados al suelo o muertos.

-2- poner sonidos y musica.

-3- poner un contador de puntos.

-4-poner un personaje Player por el escenario del juego que se pueda mover y girar de forma realista y añadirle un arma que lanze proyectiles.

-5- poner personajes propios personalizados con animaciones externas desde Mixamo o Deepmotion

-6- poner puertas animadas de diferentes formas, haciendo solamente una y consiguiendo colocarla en cualquier parte del escenario duplicados, sus du`licados me refiero.

-7- poner un cielo y cambiarle las luces y la ambientacion.

-8- poner luces y que tengan sombras.

-9- hacer particulas de llamaradas de fuego.

-10- Con estas primeras bases ya me veo capaz de hacer algun juego simple y entretenido, eso si con mucho esfuerzo porque ahora estos temas les falta que los realice con fluidez y rapidez.

-11-Me dejaba el apartado de Lod o Lood que sirve para que se dibujen menos poiligonos en los graficos o mas poligonos segun lo que se quiera hacer, muy importante para equilibrar la memoria y fluidez del juego.

¿y que me quedo en el tintero?

Me quede con las ganas de conseguir cambios de enfoques y perspectivas con las camaras, esto me custa mucho, algo e conseguido hacer pero esta tan flojo que de momento no lo aplicare con Godot3d 4.2

y ahora si a currar estos minimos conocimientos y explotar graficos guapos e imaginacion y a publicar en itch.io, cuando tenga algo respetablemente jugable¡¡¡¡¡