Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Una pequeña ayuda

Iniciado por Bamf, Noviembre 03, 2015, 01:39:01 PM

Tema anterior - Siguiente tema
Buenas a todos, estoy ahora mismo muy perdido, hay algo que intento hacer y no me sale. Veréis el problema es que intento que al pulsar un botón de la app para empezar algo suene una canción aleatoria y ponerle como una especie de CD (cool down) de 24 horas para que no se pueda pulsar más ese botón. ¿Alguna sugerencia? Lo he intentado todo, hasta buscar en la pagina 5 de Google.

Noviembre 03, 2015, 02:37:35 PM #1 Ultima modificación: Enero 01, 1970, 01:00:00 AM por Antonio
Pues no sé, imagino que lo primero que haría falta sería tener las canciones almacenadas en un array o una lista, y también harían falta un par de variables tipo float, una para que guarde el día y otra para que guarde el segundo del día en el que se activó el botón por última vez.Al pulsar el botón, se crean dos variable floats locales, una para que guarde el día actual (se puede coger de System.DateTime.Now.Day) y otra que guardará el segundo del día en que se está pulsando el botón. (se puede coger también de System.DateTime.Now.... pero imagino que habrá que pasar las horas y los minutos a segundos para poder coger el segundo del día real).   Una vez hecho eso, lo siguiente sería un if, y miraría si el día en que se pulsó el botón por última vez, es distinto del día actual. Si no lo es, es que no han pasado 24 horas. Así que punto y final, no se hace nada. Si es distinto, entonces miras si es mayor que el día guardado + 1, si han pasado 2 días es que por seguro que han pasado más de 24 horas, puedes proceder a hacer la función de la música sin más dudas. Si no, pues entonces es cuando entramos a comprobar las variables de los segundos con un nuevo if. Si el segundo real del día, es mayor que el segundo que tenía almacenado, pues entonces es que ya han pasado más de 24 horas, se activa la función de la música, en caso contrario, pues no se hace nada.

Después, la función de la música, lo que haría es generar un número aleatorio con el Random.Range (min,max)  y posteriormente activar la función Play del sound source correspondiente tomando el valor el array o lista que haya en el nodo marcado por el número aleatorio que se ha elegido. Tras eso, se actualizarían también las variables del Día y Segundo del día en que se ha activado el botón por última vez. De hecho creo que se podría acortar el camino si todavía tienes acceso a las variables locales que creaste antes, cargarlas directamente a esos valores. 

Con eso creo que debería funcionar.

Etiquetas: