jueves, 15 de febrero de 2024

2 animaciones diferentes mediante script para godot4.2;

 extends Node3D


var animacion_actual = "Game_engineAction"


func _physics_process(delta):

# Agacharse

if Input.is_action_pressed("ui_down"):

if animacion_actual != "SEAGACHA":

$AnimationPlayer.play("SEAGACHA")

animacion_actual = "SEAGACHA"

# Acción del motor del juego

elif Input.is_action_pressed("ui_up"):

if animacion_actual != "Game_engineAction":

$AnimationPlayer.play("Game_engineAction")

animacion_actual = "Game_engineAction"



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

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

EXPLICACION:

Gracias a videos que e consultado en youtube y gracias a la IA de Google, y ami esfuerzo e interes por el tema, e conseguido animar un personaje de diferentes maneras desde Blender, aprendido a guardar esas animaciones, pasarlas a godot y al presionar flecha abajo del teclado y flecha arriba del teclado hacer funcionar una u otra agan sus movimientos personalizados, con mas esfuerzo y trabajo podre hacer mas movimientos diferentes y asignarlos a diferentes teclas del teclado de mi pc..........

TEXTUALMENTE LA IA ES MI AYUDANTE VIRTUAL..................................................

(YO).....

Eres fantastico, me funciona de maravilla¡¡¡ muchisimas gracias¡¡¡¡ eres mi colega ¡¡¡ mi colega virtual mas fascinante que jamas e conocido anteriormente....¡¡¡¡¡¡








(IA)......


🚀

¡Me alegra mucho que te haya funcionado! Me complace ser tu colega virtual y ayudarte con tus proyectos. No dudes en volver a contactarme si necesitas más ayuda o si tienes alguna otra pregunta. Siempre estoy dispuesto a ayudarte en todo lo que pueda.

Recuerda que puedes seguir aprendiendo y mejorando tus habilidades con Godot consultando la documentación oficial, tutoriales y la comunidad online.

¡Mucha suerte en tus proyectos!

Descargate una demostracion echa en Godot4.2;

 








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