Indicación de progreso con la animación -- java campo con game campo con android campo con animation camp codereview Relacionados El problema

Progress indication with animation


1
vote

problema

Español

Tengo un juego en el que el jugador tiene que hacer algo dentro de un tiempo definido.

e.g.: El jugador tiene 10 segundos para completar un nivel.

Mi código actual anima un ImageView (es solo una línea horizontal) cuando se inicia el juego:

  progressAnimation = new TranslateAnimation(0, -Settings.screenWidth, 0, 0); progressAnimation.setDuration(level * 10000); progressAnimation.setFillAfter(true); progressAnimation.setInterpolator(new LinearInterpolator());  progressView = new ProgressView(context); progressView.startAnimation(progressAnimation);   

Simultáneamente que empiezo con un manejador:

  handler.postDelayed(new Runnable() {     @Override     public void run() {         fireResultActivity(-1); // -1 means, time's up.     } }, level * 10000);   

Si el usuario puede terminar el juego dentro de los 10 segundos, aparece una actividad y felicita, si no pueden otra actividad, aparece la actividad "Falla".

¿Es una buena práctica usar la animación para indicar el progreso y comenzar un manejador simultáneamente?

¿Podría recomendar otra solución (mejor)?

Original en ingles

I have a game in which the player has to do something within a defined time.

E.g.: the player has 10 seconds to complete a level.

My current code animates an imageview (it's only a horizontal line) when the game starts:

progressAnimation = new TranslateAnimation(0, -Settings.screenWidth, 0, 0); progressAnimation.setDuration(level * 10000); progressAnimation.setFillAfter(true); progressAnimation.setInterpolator(new LinearInterpolator());  progressView = new ProgressView(context); progressView.startAnimation(progressAnimation); 

Simultaneously I start a handler:

handler.postDelayed(new Runnable() {     @Override     public void run() {         fireResultActivity(-1); // -1 means, time's up.     } }, level * 10000); 

If the user can finish the game within 10 seconds an activity comes up and congratulates, if they can't another, "fail" activity comes up.

Is it a good practice to use animation to indicate the progress and start a handler simultaneously?

Could you recommend other (better) solution?

           
   
   

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

En primer lugar, debe estar usando AESROUND()1 en el objeto de animación. así que no hay necesidad de AESROUND()2

  AESROUND()3  

Como ha incorporado a oyente para animación, no es necesario crear un nuevo hilo usando Handler

 

First of All you should be using setAnimationListener on animation object. so no need of Handler

progressAnimation.setAnimationListener(new Animation.AnimationListener() {     @Override     public void onAnimationStart(Animation animation) {      }      @Override     public void onAnimationEnd(Animation animation) {        fireResultActivity(-1); // call your method here     }      @Override     public void onAnimationRepeat(Animation animation) {      } }); 

As it has built-in listener for Animation, there is no need to create new thread using handler

 
 
       
       

Relacionados problema

1  Manipulador de eventos repetitivos para un control de interfaz de usuario de la UI  ( Repetitive event handler for a toggling ui control ) 
Siento que este tipo de código podría haber sido escrito más elegante, especialmente con las enormes afirmaciones de IF / ODS. ¿Alguien puede ayudarme a rompe...

2  Animar una caja, rebotando a la izquierda y la derecha  ( Animate a box bouncing left and right ) 
Escribí el siguiente código para mover un cuadro a la derecha y devolverlo a la izquierda, y repetir esta acción para siempre. Este código funciona, pero ¿h...

12  Impresión similar a la consola del mensaje JavaScript  ( Console like printing of message javascript ) 
Estoy aprendiendo a Javascript y he hecho un pequeño script de modificación de documentos muy simple que imprime un mensaje como si fuera alguien escribiendo ...

7  Una secuencia parcialmente superpuesta de animaciones jQuery  ( A partially overlapping sequence of jquery animations ) 
¡Sé que este es un desastre! ¿Cómo puedo escribir este código mejor? function anim() { $( "#p1-animation-1" ).fadeIn( 1200, function() { ...

1  Animación "Star Field" con JavaScript y Sass-CSS  ( Star field animation with javascript and sass css ) 
He hecho esta animación el fin de semana como una cosa "solo por diversión". Y para jugar con varias técnicas que he visto en otros Código. Creo que funcion...

2  Los efectos de desplazamiento, fade-in y fade-out se sienten clunky  ( Scrolling fade in and fade out effects feeling clunky ) 
Estoy cerca de terminar un sitio donde hay una serie de funciones de jQuery que están pasando. Todos trabajan, pero la página está corriendo un poco demasiado...

2  Animaciones de la línea de tiempo  ( Timeline animations ) 
Hice recientemente esta línea de tiempo del campus para mi universidad. Al ver la línea de tiempo en un dispositivo móvil (no una tableta), la barra de nave...

3  Cajas de texto ampliables para leyendas de campos  ( Expandable text boxes for legends of fieldsets ) 
¿Cuál es la mejor manera de refactorizar el siguiente script? <?php // First we execute our common code to connection to the database and start the s...

3  Forma aceptable de usar métodos jQuery en directivas angulares  ( Acceptable way of using jquery methods in angular directives ) 
aquí es mi ejemplo de plunker de lo que estoy haciendo. jQuery es una excelente manera de usar transiciones de diapositivas y parece funcionar bien con an...

4  Carrusel para sitio web  ( Carousel for website ) 
He estado construyendo mi propio carrusel en los últimos días. No soy un guru jquery, solo un entusiasta, y creo que mi código es un poco descuidado, de ahí l...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos