Mostrando entradas con la etiqueta Interesante GDScript para cambiar desde el inspector el orden de aparicion de camaras por tiempo;. Mostrar todas las entradas
Mostrando entradas con la etiqueta Interesante GDScript para cambiar desde el inspector el orden de aparicion de camaras por tiempo;. Mostrar todas las entradas

miércoles, 27 de mayo de 2026

Interesante GDScript para cambiar desde el inspector el orden de aparicion de camaras por tiempo;

 extends Node


# --- ¡NUEVAS CASILLAS PARA EL INSPECTOR! ---

# Definimos las opciones que puedes elegir en los menús desplegables

enum OpcionesCamara { JAPONES_1, GRUA, JAPONES_2, LADRON }


@export_group("Orden de las Cámaras")

@export var paso_1: OpcionesCamara = OpcionesCamara.JAPONES_1

@export var paso_2: OpcionesCamara = OpcionesCamara.GRUA

@export var paso_3: OpcionesCamara = OpcionesCamara.JAPONES_2

@export var paso_final: OpcionesCamara = OpcionesCamara.LADRON


# Variables internas para guardar los nodos de tus cámaras

var camara_japones : Camera3D

var camara_grua : Camera3D

var camara_japones2 : Camera3D

var camara_ladron : Camera3D


func _ready():

# 1. LOCALIZAMOS LOS NODOS (Tus rutas perfectas)

camara_japones = $"WorldEnvironment/guia de turista 2 limpio NO TOCAR3/Camera3Djapones"

camara_grua = $"WorldEnvironment/GRUACAMARA/Camera3Dgrua"

camara_japones2 = $"WorldEnvironment/guia de turista 2 limpio NO TOCAR2/Camera3Djapones2"

camara_ladron = $CHARACTERBODY2/MeshInstance3D2/Camera3Dladron


# 2. LIMPIEZA INICIAL (Apagamos absolutamente todas al arrancar)

_apagar_todas_las_camaras()

# 3. EJECUTAMOS EL PASO 1

_activar_camara_por_seleccion(paso_1)

print("--- 1. PRIMER ACTO INICIADO ---")

await get_tree().create_timer(5.0).timeout

# 4. EJECUTAMOS EL PASO 2

_apagar_todas_las_camaras()

_activar_camara_por_seleccion(paso_2)

print("--- 2. SEGUNDO ACTO INICIADO ---")

await get_tree().create_timer(10.0).timeout

# 5. EJECUTAMOS EL PASO 3

_apagar_todas_las_camaras()

_activar_camara_por_seleccion(paso_3)

print("--- 3. TERCER ACTO INICIADO ---")

await get_tree().create_timer(15.0).timeout

# 6. EJECUTAMOS EL PASO FINAL

_apagar_todas_las_camaras()

_activar_camara_por_seleccion(paso_final)

print("--- FINAL: CAMBIO COMPLETADO. ¡A JUGAR! ---")


# --- FUNCIONES AUXILIARES (Para que el código quede ordenado y limpio) ---


# Apaga todas las cámaras de golpe antes de encender la siguiente

func _apagar_todas_las_camaras() -> void:

if camara_japones: camara_japones.current = false

if camara_grua: camara_grua.current = false

if camara_japones2: camara_japones2.current = false

if camara_ladron: camara_ladron.current = false


# Se encarga de encender la cámara que hayas elegido en el Inspector

func _activar_camara_por_seleccion(seleccion: OpcionesCamara) -> void:

match seleccion:

OpcionesCamara.JAPONES_1:

if camara_japones: camara_japones.current = true

print("Activada: Camera3Djapones")

OpcionesCamara.GRUA:

if camara_grua: camara_grua.current = true

print("Activada: Camera3Dgrua")

OpcionesCamara.JAPONES_2:

if camara_japones2: camara_japones2.current = true

print("Activada: Camera3Djapones2")

OpcionesCamara.LADRON:

if camara_ladron: camara_ladron.current = true

print("Activada: Camera3Dladron")


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

--------------------------------------------------------------------------------------------------------------------------------Explicacion: Interesante GDScript para cambiar desde el inspector el orden de aparicion de camaras por tiempo; puedes mantener 1 sola camara todo el tiempo.......