miércoles, 27 de diciembre de 2023

Script para manejar un aparato volador, atento a las lineas rojas hacen que se borre del juego por la linea que dice queue_free() al pulsar tecla numero 2;

 extends RigidBody3D




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(1,0,0))

$AudioStreamPlayer.play()

pass


if event is InputEventKey and event.pressed:

if event.keycode == KEY_L:

 

#queue_free()

translate(Vector3(-1,0,0))

$AudioStreamPlayer.play()

pass

 

if event is InputEventKey and event.pressed:

if event.keycode == KEY_I:

#queue_free()

translate(Vector3(0,0,1))

$AudioStreamPlayer.play()

pass



 

if event is InputEventKey and event.pressed:

if event.keycode == KEY_K:

 

#queue_free()

translate(Vector3(0,0,-1))

$AudioStreamPlayer.play()

pass


if event is InputEventKey and event.pressed:

if event.keycode == KEY_Z:

#queue_free()

translate(Vector3(0,1,0))

pass

 

if event is InputEventKey and event.pressed:

if event.keycode == KEY_R:

 

#queue_free()

translate(Vector3(0,2,0))

pass 

if event is InputEventKey and event.pressed:

if event.keycode == KEY_O:

 

#queue_free()

rotate_y(0.04)

pass 

if event is InputEventKey and event.pressed:

if event.keycode == KEY_P:

 

#queue_free()

rotate_y(-0.04)

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_7:

apply_torque_impulse(Vector3(0,-10,0))

pass

if event.keycode == KEY_6: 


apply_impulse(Vector3(0,110,0))

pass

if event.keycode == KEY_W: 


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

#var objeto = load ("res://rigid_body_3d_2lochoco.tscn")

## func _ready();

#set_process(true)

#func _process(delta):

##var instanciar = objeto.instance()

#if event.keycode == KEY_4: 

# add_child(instanciar)

##  pass


Script para Godot3d 4.2 que sirve para cambiar la posicion de su contenido cuando algo toca su Area3d;

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

translate(Vector3(0, 100,0))

pass # Replace with function body.



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

En este script estoy intentando recolocar una camara cuando algo toca el Area3d donde esta como hijo,

quizas pueda por algun impacto que la camara enfoque un letrero de game over, u otro letrero de juego completado...........

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