Visualizar cuenta atrás de 60s

Estoy intentado que me saqué en un cuadrado una cuenta atrás de 60 segundos, con este script:
///
// Declaramos una variable que vamos a utilizar para almacenar el tiempo restante
let timeRemaining: number = 60;

// Creamos una función que se encargará de actualizar la cuenta atrás
function updateCountdown(): void {
// Decrementamos el tiempo restante en un segundo
timeRemaining–;

// Si el tiempo restante es mayor o igual a 0, actualizamos el contador en el objeto TextBillboard
if (timeRemaining >= 0) {
square.setProperty(“TextItem”,timeRemaining.toString());
}
// Si el tiempo ha llegado a 0, detenemos la cuenta atrás y mostramos un mensaje
else {
clearInterval(countdownInterval);
square.setProperty(“TextItem”,“¡Cuenta atrás finalizada!”);
//textBillboard.setText(“¡Cuenta atrás finalizada!”);
}
}

const square = Scene.getItem(“3Kh5Nj3y”) as Cuboid;

square.input.onClick(function() {
// Código a ejecutar cuando se haga clic en el objeto cuadrado
updateCountdown();
});

// Ejecutamos la función cada segundo para actualizar la cuenta atrás
const countdownInterval = setInterval(updateCountdown, 1000);

he probado ya varios script y no consigo con nada que se visualicen los números. ¿Podrían ayudarme?

1 Like

No controlo nada de script @tifany_Dominguez, así que pregunto, ¿no faltaría una variable para imprimirlo en pantalla?, insisto, no tengo ni idea.

Sí hay forma de hacerlo con CoBlocks.

Transcribe tu mensaje al inglés y muchos podrán responderte con más celeridad y acierto que yo.

Un saludo.

Hola @tifany_Dominguez !

Aqui tiene un ejemplo de codigo de como hacerlo

let textItem = Scene.getItem("gR61uW3O") as TextItem
let cubeItem = Scene.getItem("luZp71Cw") as Cuboid


// Declaramos una variable que vamos a utilizar para almacenar el tiempo restante
let timeRemaining: number;

// Declaramos una variable que vamos a utilizar para almacenar la cuenta atras presente
let currentCountdown: Disposable = null

 
// Creamos una función que se encargará de actualizar la cuenta atrás
function updateCountdown(): void {
// Decrementamos el tiempo restante en un segundo
    timeRemaining--;

    // Si el tiempo restante es mayor o igual a 0, actualizamos el contador en el objeto TextBillboard
    if (timeRemaining >= 0) {
        textItem.text = timeRemaining.toString()
    }
    // Si el tiempo ha llegado a 0, detenemos la cuenta atrás y mostramos un mensaje
    else {
        currentCountdown.dispose()
        textItem.text = "Cuenta atrás finalizada!"
    }
}

cubeItem.input.onClick(function() {
    // Código a ejecutar cuando se haga clic en el objeto cuadrado
    
    if (currentCountdown != null) {
        currentCountdown.dispose()
    }

    timeRemaining = 60.0

    //actualizamos el contador en el objeto TextBillboard
    textItem.text = timeRemaining.toString()

    // Ejecutamos la función cada segundo para actualizar la cuenta atrás
    currentCountdown = Time.scheduleRepeating(updateCountdown, 1.0)
});

O puede usar este enlace de un CoSpace que se puede remezclar

1 Like

Muchas gracias por la respuesta, me ha sido de mucha ayuda