martes, 20 de febrero de 2024

Estudio de colision y de cambio de cubo en una esfera con Godot4.2 3dimensiones;

 extends Area3D


var cubo_prefab = preload("res://cubo.tscn")  # Prefab del cubo

var esfera_prefab = preload("res://esfera.tscn")  # Prefab de la esfera


func _ready():

pass


func _on_area_entered(area):

# Reemplazar el cubo con una esfera

var cubo = get_node("Cubo")

cubo.queue_free()

var esfera = esfera_prefab.instantiate()

esfera.set_transform(cubo.get_transform())

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

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

EXPLICACION: Tengo dificultades con los enemigos cuando les disparo y ago el cambio a fallecido, cambiando al personaje, funciona bien , pero si buelbe a pasar el proyectil en el motor de juegos se bloquea el juego , cuando lo compilo para windows con el .exe ejecutable no se bloquea pero se repite el personaje fallecido y se superpone uno encima del otro a cada nuevo disparo...asi que e de empezar con algo simple como este script que me proporciono la IA ....no lo e probado aun no se si funciona y e de saber aplicarlo tambien, si funciona partiendo de esa base haber si soluciono mi error.......

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

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

otro ejemplo a estudiar tambien

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

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

extends Node


var cubo = get_parent()


func _ready():

pass


func _on_area_entered(area):

# Reemplazar el cubo con una esfera

cubo.queue_free()

var esfera = esfera_prefab.instantiate()

esfera.set_transform(cubo.get_transform())



JUEGOS MIOS, MIRA JUEGA COMPRA O JUEGA GRATIS TAMBIEN;

 JUEGOS MIOS, MIRA JUEGA COMPRA O JUEGA GRATIS TAMBIENcliquea aqui y accede en este enlace azul

Promocionando un juego que me lo trabaje un monton cuando usaba Unity; venga comprar algo alguien¡¡¡¡;

 

lunes, 19 de febrero de 2024

Adelantos con godot ideas de trabajarlo, colisiones y enemigos y hacer un campo de hierva;

 Tengo unos 3 meses y pico de practicas y estudios con Godot4.2 y se me a ocurrido una manera de suplir carencias, como los colisionadores que no adaptan la forma de una rosca, consultando a la IA, me dio la idea de rellenar una rosca con coliders colisionadores, de cubos o esferas que esten dentro de una rosca esta a su vez cubre a un personaje, un enemigo por ejemplo, entonces puedo hacer dos roscas con sus respectivos colisionadores en su interior que al tener un contacto consiga 1ª instanciar un enemigo, el mismo pero por ejemplo muriendo y 2ª que la otra rosca con sus respectivos colisionadores borren al enemigo original..es unas idea que aun no e puesto en practica y que trabajare estos siguientes dias, en parte ya lo e echo, pero con paredes que cubren al enemigo, 4 en concreto, pero hay fallos si los impactos son ladeados, con una rosca pienso es mas definido el efecto que quiero hacer.......


y para hacer hiervas en el suelo muy facil con gimp y partiendo de una plano trasparente y formato PNG que es el que soporta transparencias, hacer una escena y copias de esta e ir haciendo duplicados y emparentando los archivos de imagen PNG.......

Luce chulo, y esta echo en un pis pas¡¡¡¡¡¡




domingo, 18 de febrero de 2024

Animar con Godot4.2 3d y GDScript 3 animaciones con teclas flechas del pc;

 extends Node3D




var animacion_actual = "Game_engineAction"




func _physics_process(delta):


# Agacharse


if Input.is_action_pressed("ui_down"):


if animacion_actual != "SEAGACHA_001":


$AnimationPlayer.play("SEAGACHA_001")


animacion_actual = "SEAGACHA_001"




# 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"




# Saltar


elif Input.is_action_pressed("ui_accept"):


if animacion_actual != "Game_engineAction":


$AnimationPlayer.play("Game_engineActionr")


animacion_actual = "Game_engineAction"




# Moverse hacia la izquierda


elif Input.is_action_pressed("ui_left"):


if animacion_actual != "cabezaalnteatras":


$AnimationPlayer.play("cabezaalnteatras")


animacion_actual = "cabezaalnteatras"




# Moverse hacia la derecha


elif Input.is_action_pressed("ui_right"):


if animacion_actual != "Esconder accion]_001":


$AnimationPlayer.play("Esconder accion]_001")


animacion_actual = "Esconder accion]_001"

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

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

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

EXPLICACION: desde blender grabo animaciones y por script en godot logro que funcionen perfectamente, aremos de hijo de un player estos adelantos y poder movernos y animarnos con diversos tipos de movimientos y acciones---------trabajo de chinos hay vamos-----------

viernes, 16 de febrero de 2024

Animar por teclado en godot4.2 un ejemplo;

 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"


    # Saltar

    elif Input.is_action_pressed("ui_accept"):

        if animacion_actual != "Saltar":

            $AnimationPlayer.play("Saltar")

            animacion_actual = "Saltar"


    # Moverse hacia la izquierda

    elif Input.is_action_pressed("ui_left"):

        if animacion_actual != "MoverIzquierda":

            $AnimationPlayer.play("MoverIzquierda")

            animacion_actual = "MoverIzquierda"


    # Moverse hacia la derecha

    elif Input.is_action_pressed("ui_right"):

        if animacion_actual != "MoverDerecha":

            $AnimationPlayer.play("MoverDerecha")

            animacion_actual = "MoverDerecha"


Mas ejemplos de animar con script y teclado en 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"

    # Saltar
    elif Input.is_action_pressed("ui_accept"):
        if animacion_actual != "Saltar":
            $AnimationPlayer.play("Saltar")
            animacion_actual = "Saltar"

    # Moverse hacia la izquierda
    elif Input.is_action_pressed("ui_left"):
        if animacion_actual != "MoverIzquierda":
            $AnimationPlayer.play("MoverIzquierda")
            animacion_actual = "MoverIzquierda"

    # Moverse hacia la derecha
    elif Input.is_action_pressed("ui_right"):
        if animacion_actual != "MoverDerecha":
            $AnimationPlayer.play("MoverDerecha")
            animacion_actual = "MoverDerecha"

    # Agregar más acciones y teclas aquí...
    # Por ejemplo:
    # elif Input.is_action_pressed("ui_a"):
    #     if animacion_actual != "AccionA":
    #         $AnimationPlayer.play("AccionA")
    #         animacion_actual = "AccionA"
    # ...

    # ¡Personaliza según tus necesidades!