domingo, 28 de julio de 2024

Borra una puerta, la quema, borra elemetos de una puerta y sus StaticBody3D con su CollisionShape3D; en GDScript para Godot 4.2;

 extends Area3D



var Esferauno = preload("res://ARRANCA PERSONAJE ANDANDO Y MOVIENDOSE/BORRALO.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 parent = get_parent()


var CollisionShape3Dcubo = parent.get_node("CollisionShape3D")





get_node("CollisionShape3D").queue_free()


#$"../../SILLA OFICINA9 ARDERAAAAAAAAAAAAAAAAAAAAAAAAAA3".queue_free()

$"../CSGTorus3D2 AQUEMAR2".queue_free()

$"../CSGTorus3D2 AQUEMAR3".queue_free()

$"../CSGTorus3D2 AQUEMAR4".queue_free()

$"../CSGTorus3D2 AQUEMAR5".queue_free()

$"../CSGTorus3D2 AQUEMAR6".queue_free()

$"../StaticBody3D".queue_free()

pass # Replace with function body.



func _on_area_exited(area):


var Esferauno = Esferauno.instantiate()


add_child(Esferauno)


pass # Replace with function body.





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

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

EXPLICACION: Un personaje a de atravesar una puerta, el script instancia un fuego ya que el personaje representa que la quema con un lanzallamas, a la vez borra elementos de dicha puerta sus StaticBody3D con su CollisionShape3D, ese fuego se apagara en unos segundos pero eso lo hace desde su propio script, ya que ese fuego es de una escena diferente que fue instanciada con este script.  "res://ARRANCA PERSONAJE ANDANDO Y MOVIENDOSE/BORRALO.tscn" pongo mas abajo el script de borrar por tiempo la escena BORRALO.tscn sus graficos representan fuego y esta asociado un sonido de quemar a estos graficos para dar mas realismo y ambiente


extends RigidBody3D


var tiempo_transcurrido = 0.0 # Variable para almacenar el tiempo transcurrido


func _process(delta):


tiempo_transcurrido += delta


if tiempo_transcurrido >= 5.0:


queue_free() # Elimina el nodo de la escena



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

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

extends CPUParticles3D


var tiempo_transcurrido = 0.0 # Variable para almacenar el tiempo transcurrido


func _process(delta):


tiempo_transcurrido += delta


if tiempo_transcurrido >= 5.0:


queue_free() # Elimina el nodo de la escena




Script en GDScript para godot4.2, combinacion de mouse y teclado para ejecutar diversas animaciones de un personaje;

 extends Node3D



var animacion_actual = "OTROBRAZOMUEVE"



func _ready():

$AnimationPlayer2.play("UNAMASDEPRUEBASDEMASDEUNA")

pass # Replace with function body.




func _input(event):


if event is InputEventMouseButton:




if event.button_index == 1 and event.pressed :



$AnimationPlayer.play("ARMAENMANO")


animacion_actual = "ARMAENMANO"




func _physics_process(delta):


# Agacharse



if Input.is_action_pressed("ui_down"):


if animacion_actual != "OTROBRAZOMUEVE":


#$AnimationPlayer.play("LEBANTAPIE")

$AnimationPlayer.play("OTROBRAZOMUEVE")


animacion_actual = "OTROBRAZOMUEVE"




elif Input.is_action_pressed("agacharse"):


if animacion_actual != "LEBANTABRAZO":


$AnimationPlayer.play("LEBANTABRAZO")


animacion_actual = "LEBANTABRAZO"




elif Input.is_action_pressed("ui_accept"):


if animacion_actual != "GIRATRONCO":


$AnimationPlayer.play("GIRATRONCO")


animacion_actual = "GIRATRONCO"





elif Input.is_action_pressed("detenerse"):


if animacion_actual != "PASOJASON":


$AnimationPlayer.play("PASOJASON")


animacion_actual = "PASOJASON"





#elif Input.is_action_just_pressed("DISPARAR"):

#elif Input.is_action_released("DISPARAR"):

elif Input.is_action_pressed("DISPARAR"):


if animacion_actual != "ARMAENMANO":


$AnimationPlayer.play("ARMAENMANO")


animacion_actual = "ARMAENMANO"




elif Input.is_action_pressed("DISPARAR2"):


if animacion_actual != "ARMAENMANO":


$AnimationPlayer.play("ARMAENMANO")


animacion_actual = "ARMAENMANO"




# Moverse hacia la derecha


#elif Input.is_action_just_pressed("ui_right"):

#elif Input.is_action_just_pressed("andaradelante"):# este funciona

#elif Input.is_action_just_pressed("ui_right"):


func _unhandled_input(event):# pruebas pero funciona

if event is InputEventKey and event.pressed:# pruebas pero funciona

#if event.keycode == KEY_W or event.keycode == KEY_A or event.keycode == KEY_O or event.keycode == KEY_D:

if event.keycode == KEY_W:# pruebas pero funciona




#if animacion_actual != "ANDADEMIXAMO":# este funciona


$AnimationPlayer.play("ANDADEMIXAMO")


animacion_actual = "ANDADEMIXAMO"




if event is InputEventKey and event.pressed:# pruebas pero funciona


if event.keycode == KEY_A:# pruebas pero funciona

 

$AnimationPlayer.play("ANDADEMIXAMO")

animacion_actual = "ANDADEMIXAMO"

if event is InputEventKey and event.pressed:# pruebas pero funciona

if event.keycode == KEY_D:# pruebas pero funciona

 

$AnimationPlayer.play("ANDADEMIXAMO")

animacion_actual = "ANDADEMIXAMO"




if event is InputEventKey and event.pressed:# pruebas pero funciona

if event.keycode == KEY_X:# pruebas pero funciona

 

$AnimationPlayer.play("OTROBRAZOMUEVE")

animacion_actual = "OTROBRAZOMUEVE"







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

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

ampliado con presion del mouse boton 1 boton2 y presionar rueda del mouse

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

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

extends Node3D



var animacion_actual = "OTROBRAZOMUEVE"



func _ready():

$AnimationPlayer2.play("UNAMASDEPRUEBASDEMASDEUNA")

pass # Replace with function body.




func _input(event):


if event is InputEventMouseButton:




if event.button_index == 1 and event.pressed :



$AnimationPlayer.play("ARMAENMANO")


animacion_actual = "ARMAENMANO"




if event.button_index == 2 and event.pressed :



$AnimationPlayer.play("ARMAENMANO")


animacion_actual = "ARMAENMANO"





if event.button_index == 3 and event.pressed :



$AnimationPlayer.play("ARMAENMANO")


animacion_actual = "ARMAENMANO"




func _physics_process(delta):


# Agacharse



if Input.is_action_pressed("ui_down"):


if animacion_actual != "OTROBRAZOMUEVE":


#$AnimationPlayer.play("LEBANTAPIE")

$AnimationPlayer.play("OTROBRAZOMUEVE")


animacion_actual = "OTROBRAZOMUEVE"




elif Input.is_action_pressed("agacharse"):


if animacion_actual != "LEBANTABRAZO":


$AnimationPlayer.play("LEBANTABRAZO")


animacion_actual = "LEBANTABRAZO"




elif Input.is_action_pressed("ui_accept"):


if animacion_actual != "GIRATRONCO":


$AnimationPlayer.play("GIRATRONCO")


animacion_actual = "GIRATRONCO"





elif Input.is_action_pressed("detenerse"):


if animacion_actual != "PASOJASON":


$AnimationPlayer.play("PASOJASON")


animacion_actual = "PASOJASON"





#elif Input.is_action_just_pressed("DISPARAR"):

#elif Input.is_action_released("DISPARAR"):

elif Input.is_action_pressed("DISPARAR"):


if animacion_actual != "ARMAENMANO":


$AnimationPlayer.play("ARMAENMANO")


animacion_actual = "ARMAENMANO"




elif Input.is_action_pressed("DISPARAR2"):


if animacion_actual != "ARMAENMANO":


$AnimationPlayer.play("ARMAENMANO")


animacion_actual = "ARMAENMANO"




# Moverse hacia la derecha


#elif Input.is_action_just_pressed("ui_right"):

#elif Input.is_action_just_pressed("andaradelante"):# este funciona

#elif Input.is_action_just_pressed("ui_right"):


func _unhandled_input(event):# pruebas pero funciona

if event is InputEventKey and event.pressed:# pruebas pero funciona

#if event.keycode == KEY_W or event.keycode == KEY_A or event.keycode == KEY_O or event.keycode == KEY_D:

if event.keycode == KEY_W:# pruebas pero funciona




#if animacion_actual != "ANDADEMIXAMO":# este funciona


$AnimationPlayer.play("ANDADEMIXAMO")


animacion_actual = "ANDADEMIXAMO"




if event is InputEventKey and event.pressed:# pruebas pero funciona


if event.keycode == KEY_A:# pruebas pero funciona

 

$AnimationPlayer.play("ANDADEMIXAMO")

animacion_actual = "ANDADEMIXAMO"

if event is InputEventKey and event.pressed:# pruebas pero funciona

if event.keycode == KEY_D:# pruebas pero funciona

 

$AnimationPlayer.play("ANDADEMIXAMO")

animacion_actual = "ANDADEMIXAMO"




if event is InputEventKey and event.pressed:# pruebas pero funciona

if event.keycode == KEY_X:# pruebas pero funciona

 

$AnimationPlayer.play("OTROBRAZOMUEVE")

animacion_actual = "OTROBRAZOMUEVE"