martes, 23 de enero de 2024

Script GDScript para Godot3d 4.2 cuando algo entra en Area3d borra diversos elementos y escala uno y cuando sale provoca sonido;

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

get_node ("MeshInstance3DBETA")

scale.y+=5.0


scale.x+=5.2


scale.z+=5.2

pass # Replace with function body.



func _on_area_exited(area):

$AudioStreamPlayer.play()

pass # Replace with function body.


Script en GDScript para godot3d 4.2 , cuando algo entra en un Area3d produce un sonido, cuando algo sale del Area3d se borra su contenido;

 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_exited(area):

queue_free()

pass # Replace with function body.



func _on_area_entered(area):

$"../../AudioStreamPlayer".play()

pass # Replace with function body.

-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
EXPLICACION:
Entra en Area3d
 algo func _on_area_entered(area):

$"../../AudioStreamPlayer".play()

pass # Replace with function body.

emite sonido.........

Sale algo del Area3d 

func _on_area_exited(area):

queue_free()

pass # Replace with function body.

se borra su contenido.

Como se pone un sonido de musica de fondo en Godot 3d 4.2 que este en bucle y suene una y otra vez?;




 




sábado, 20 de enero de 2024

Ejemplo de html;

<!DOCTYPE html>
<html>
<head>
<title>Girar un cuadrado verde</title>
<style>
.square {
width: 100px;
height: 100px;
background-color: green;
animation: rotate 2s infinite;
}

@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
</style>
</head>
<body>
<div class="square"></div>
</body>
</html>

Girar un cuadrado verde

Script para Godot3d 4.2 borra elementos hijos de un area3d al haber una colision y aumenta el tamaño de otro elemento;

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

get_node ("MeshInstance3DBETA")

scale.y+=2.2


scale.x+=2.2


scale.z+=2.2

pass # Replace with function body.

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

EXPLICACION:
Este script borra dos hijos de un Area 3d y proboca el escalado el aumento de otro de los hijos, quiero que al destruir un objeto aparezca otro desde dentro de el y creo que se puede conseguir el efecto con este metodo, lo perfecto seria no escalar si no borrar  e intanciar otro elemento, pero de momento no consigo hacerlo, pero ya lo are ya ....solo es trabajo y estudio y practica y contancia y tozudez y yo de eso boy sobrado¡¡¡¡¡

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.