lunes, 12 de febrero de 2024

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¡¡¡¡¡

sábado, 10 de febrero de 2024

Script para godot instacia una camara y hace un cambio de plano de escena mientras esta dentro del Area3d;

 extends Area3D

var Extra = preload("res://CAMARAEXTRAPARASERINSTANCIADA.tscn")


# 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 extra=Extra.instantiate()

add_child(extra)

pass # Replace with function body.



func _on_area_exited(area):

queue_free()

pass # Replace with function body.

viernes, 9 de febrero de 2024

PRESIONANDO BOTON IZQUIERDO DEL MOUSE Y PRESIONANDO BOTON DERECHO DEL MOUSE CON GODOT4.2;

 extends CSGSphere3D


func _input(event):


#if event is InputEventMouseMotion:

if Input.is_action_just_pressed("MOUSE_LEFT"):


$AnimationPlayer.play("blanca4")

$"../AudioStreamPlayer3DDISPAROELICOPTERO".play()




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




 extends CSGSphere3D


func _input(event):


#if event is InputEventMouseMotion:

if Input.is_action_just_pressed("MOUSE_RIGHT"):


$AnimationPlayer.play("blanca4")

$"../AudioStreamPlayer3DDISPAROELICOPTERO".play()






Presiono "e" camara true camara false;

 extends Camera3D


var is_visible = false

var player: Node # Asegúrate de asignar el jugador en el editor


func _input(event):

    if event is InputEventKey:

        if event.scancode == KEY_E:

            if event.pressed:

                # La tecla "E" está presionada, muestra la cámara

                show_camera()

            else:

                # La tecla "E" se soltó, oculta la cámara

                hide_camera()


func hide_camera():

    if is_visible:

        is_visible = false

        self.visible = false

        player.camera = null # Desvincula la cámara del jugador


func show_camera():

    if !is_visible:

        is_visible = true

        self.visible = true

        player.camera = self # Vincula la cámara al jugador nuevamente