sábado, 20 de enero de 2024

Script para Godot3d 4.2 ......3ª ejemplo de borrar hijos de nodos por colision;

 extends Area3D



# 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 parent = get_parent()

var Area3DBETA = parent.get_node("Area3DBETA")

#Area3DBETA.queue_free()

get_node("CollisionShape3DBETA").queue_free()

get_node("AMETRALLADOR DE BLENDER PINTADOBETA").queue_free()

pass # Replace with function body.




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

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

EXPLICACION: DE LINEAS FUNDAMENTALES.....

func _on_area_entered(area):-------------Area donde entra un objeto un proyectil por ejemplo.

var parent = get_parent()-------------------Parentesco.

var Area3DBETA = parent.get_node("Area3DBETA")------Nombre del padre desde donde salen los hijos a borrar al haber una colision.


#Area3DBETA.queue_free()---------------------No hace nada al haber este signo "#" si no lo tuviese borraria el Area3DBETA padre completa hijos incluidos


get_node("CollisionShape3DBETA").queue_free()--------------Este elemento se borra al haber colision.

get_node("AMETRALLADOR DE BLENDER PINTADOBETA").queue_free()----Este elemnto se borra al haber colision.

miércoles, 17 de enero de 2024

COMO SE CAMBIA EL AMBIENTE EL CIELO EN GODOT3D 4.2

 WorldEnvironment, la clave es poner este nodo de padre de todo el juego principal, como escena principal, a partir de hay es muy intuitivo cambiar el color de la ambientacion, en el video muestro los pasos principales,  a partir de hay ,,,,,,,,,,,,,,,,,,,¡¡¡¡¡¡¡¡¡¡¡

Crei en un principio que DirectionalLight3D era el que hacia la luz del cielo pero no es, .........es  WorldEnvironment y a de estar como raiz de todo, lo que si hace DirectionalLight3D es si se activa Shadow  son las sombras que las crea Godot, yo al aparato volar le puesto una luz linterna que queda muy bien con esa ambientacion oscura que me gusta dar a casi todos mis juegos...


domingo, 14 de enero de 2024

Demo de juego echo en godot3d 4.2;

 

EN CONSTRUCCION LA DESCARGA DEL JUEGO POR PROBLEMAS TECNICOS DE CONEXION INTERNET..........................................................................................................................................................................................................................................................17-1-24.......ESTOY EN ELLO----------



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

sábado, 13 de enero de 2024

SCRIPT PARA GODOT3D 4.2 QUE TIENE MEJORAS EN MANEJAR UN APARATO VOLADOR;

 extends RigidBody3D



func _ready():



# Agrega el código que deseas ejecutar aquí.

pass




func _process(delta):

# Agrega el código que deseas ejecutar aquí.

pass

























#func _input(event: InputEvent):

#if event is InputEventKey and event.scancode == KEY_N and event.pressed:




#rotate_y(0.1)





















func _unhandled_input(event):

#if event is InputEventKey:

#if event.pressed and event.keycode == KEY_O:

if event is InputEventKey and event.pressed:

if event.keycode == KEY_J:

#queue_free()

translate(Vector3(111,0,0) * get_process_delta_time())

$AudioStreamPlayer.play()

pass


if event is InputEventKey and event.pressed:

if event.keycode == KEY_L:

 

#queue_free()

translate(Vector3(-111,0,0) * get_process_delta_time())

$AudioStreamPlayer.play()

pass

 

if event is InputEventKey and event.pressed:

if event.keycode == KEY_I:

translate(Vector3(0,0,111) * get_process_delta_time())

$AudioStreamPlayer.play()

pass








 

if event is InputEventKey and event.pressed:

if event.keycode == KEY_K:

 

#queue_free()

translate(Vector3(0,0,-111) * get_process_delta_time())

$AudioStreamPlayer.play()

pass


if event is InputEventKey and event.pressed:

if event.keycode == KEY_Z:

#queue_free()

translate(Vector3(0,111,0) * get_process_delta_time())

pass

 

if event is InputEventKey and event.pressed:

if event.keycode == KEY_R:

 

#queue_free()

translate(Vector3(0,-111,0) * get_process_delta_time())

pass 










#if event is InputEventKey and event.pressed:

#if event.keycode == KEY_O:

 

#queue_free()

#rotate_y(0.5) 

#pass 








 

#if event is InputEventKey and event.pressed:

#if event.keycode == KEY_P:

 

#queue_free()

#rotate_y(-0.5)

#pass 

#if event.keycode == KEY_9:

#add_constant_force(Vector3(0,-33,0))

#pass

#if event.keycode == KEY_8:

#add_constant_force(Vector3(0,33,0))

#pass

if event.keycode == KEY_Z:

apply_torque_impulse(Vector3(0,-0.1,0))

pass


if event.keycode == KEY_X:

apply_torque_impulse(Vector3(0, 0.1,0))

pass

if event.keycode == KEY_E: 


apply_impulse(Vector3(0,110,0))

pass


if event.keycode == KEY_W:

#move_and_slide(Vector3(0, 0, 40))

apply_impulse(Vector3(0,0,40))

pass





if event.keycode == KEY_S: 

apply_impulse(Vector3(0,0,-40))

pass

if event.keycode == KEY_A: 

apply_impulse(Vector3(40,0,0))

pass

if event.keycode == KEY_D: 

apply_impulse(Vector3(-40,0,0))

pass


if event.keycode == KEY_1:

rotate_z(1)

pass

if event.keycode == KEY_2:

rotate_x(1)

#queue_free()

pass


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

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

EXPLICACION: FUNCIONA ELEVARSE -E- ALANTE ATRAS IZQUIERDA DERECHA W-A-S-D

GIRAR -Z-X- , TIENE EL DEFECTO QUE CUANDO A GIRADO AL PRESIONAR -W- YA NO AVANZA ADELANTE AVANZA HACIA ATRAS, Y AL GIRAR DE NUEVO , VUELVE A AVANZAR PRESIONANDO -W-, CON LA -S- OCURRE IGUAL VA HACIA ATRAS Y SI AGIRADO CAMBIA Y VA HACIA ADELANTE........YA LO CORREGIRE POCO A POCO....

viernes, 12 de enero de 2024

Ejercicios html 2

Toca con dedo cuadrado y se movera Mover Cuadrado

















TOCA EL CUADRADO Y SE MOVERA

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Mover Cuadrado</title>
    <style>
      .square {
        width: 100px;
        height: 100px;
        background-color: red;
        position: absolute;
        left: 0;
        transition: all 0.4s;
      }

      .square.move {
        left: calc(100% - 100px);
      }
    </style>
  </head>

  <body>
    <div class="square" ontouchstart="moveSquare()"></div>

    <script>
      function moveSquare() {
        var square = document.querySelector(".square");
        square.classList.add("move");

        setTimeout(function () {
          square.classList.remove("move");
        }, 400);
      }
    </script>
  </body>
</html>








Ejercicios html

Tocas el cuadrado y salen bolas hacia arriba Interactive Square

jueves, 11 de enero de 2024

Script para godot3d 4.2 cuando presiono tecla "M" se reinicia el juego; esta puesto en un MeshInstance3D; y es bicnieto;

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

if event is InputEventKey:

if event.pressed and event.keycode == KEY_M:

get_tree().reload_current_scene()

#rotate_y(90.88)



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

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

Explicacion;

Script para godot3d 4.2 cuando presiono tecla "M"  se reinicia el juego; esta puesto en un MeshInstance3D; y es bicnieto; me vengo a referir , intento aclarar el nodo raiz padre del juego es un

World de el sale un Area3d de esta sale un CollisionShape3D de este asi mismo sale el MeshInstance3D contenedor del script que funciona perfectamente, ejecuto el juego y cuando presiono tecla "m" se empieza el juego de nuevo.