Espera de "x" segundos.

Hola!,hay alguna forma de hacer que al pasar una “X” cantidad de segundos se genere un acción??.Gracias!!

Hola @Dyron_D, para hacer algo cada X segundos podrías definir el método cada_segundo en una escena.

Acá hay un video donde se muestra como definir ese método para hacer que aparezcan objetos cada segundo. La explicación puntual de este método está en el minuto 3 del video:

Yo tengo una duda similar, la iba a postear pero sigo este hilo.

  1. ¿Cómo hago para obtener un actor mediante el nombre y guardarlo en una variable. Lo ví hace un tiempo y ahora no lo recuerdo.

  2. ¿Hay algún método para por ejemplo cada 3 segundos (o los que quieras) hacer algo?

Dale click al actor y añadale una etiqueta ahora te hago un ejemplo

Hola @Ignacio, una forma sencilla de obtener una referencia a un actor y guardarla en
una variable es arrastrar y soltar el actor sobre el código así:

63fdaab0401a4386a40da7bf0fa54c1bf6cd9bf7_2_690x223

O bien, escribir la función this.pilas.obtener_actor_por_nombre.

Sí, de hecho existe un receta para eso, se llama “Detecta el paso del tiempo en segundos”:

image

Esta receta agrega una función que se ejecutará cada 1 segundo, así que para detectar si pasan 3 o más segundos vas a tener que evaluar si el número de segundos transcurrido es múltiplo de 3.

Si usas la receta, vas a ver que hace algo parecido a lo que vos necesitas, pero cada 5
segundos en lugar de 3:

image

Como haces las imagenes gifs?

Uso un software que se llama monosnap, bastante útil.

Pero me enseñas a hacer los gifs

Te paso el link a las instrucciones:

Ya esta lo del .zip? plss

Sí, pero aún no publiqué la versión nueva. Podes bajarla desde acá por el momento:

Voy a hacer el anuncio de la versión nueva el sábado, aún me quedan por agregar algunas cosas para cerrar el sprint.

Ok!!,muchas gracias.

Hola!!,recién lo abro y si funciona muchas gracias.

¿harías otro hilo para que veamos esto @Dyron_D?, también fijate de incluir el .zip y el proyecto así puedo revisar qué pasó…

Ok, ya abro otro. :grinning: :grinning: :grinning:

Hola @hugoruscitti tengo una consulta referente a ( cada segundo )
duda
como hago para cuando pasa un tiempo ejemplo 20 segundo se detengo y no salga más.

@VictorRico Podrías usar una variable booleana, de las que valen true o false, y que solamente si es true se clone al “solado_enemigo”.
Supón llamamos puede_clonar a la variable del tipo boolean.
Modificamos el condicional if para que la condición sea verdadera sólo si puede_clonar=true:

if (this.pilas.es_multiplo(segundos, 3) && this.puede_clonar) {
    let y = ....
    this.pilas.clonar.....
}

Lo que hice fue agregar el signo && que significa el operador lógico “y” (and en otros lenguajes). Este operador devuelve true o verdadero solamente si los dos miembros, derecha e izquierda, son true.
El if ahora dice algo como: Si segundos es múltiplo de 3 (this.pilas.es_multiplo…) y (&&) la variable puede_clonar es true (this.puede_clonar), entonces clonese al soldado enemigo.
Luego podrías hacer que al perder se envie un mensaje global “perder” y que el mismo actor que posee este cada_segundo reaccionase al mensaje poniendo a la variable como false:

cuando_llega_un_mensaje(mensaje:string) {
    if (mensaje == "perder") {
        this.puede_clonar = false;
}

Otra alternativa es usar estados de autómatas: Clonar y no_clonar. Y la idea es la misma, solamente que ahora cambiarías de un estado a otro cuando quisieses clonar o detener la clonación.
Espero haberte ayudado y que se entienda mi explicación.