Spanish Animaciones

figorra

Member
Licensed User
Longtime User
Hola amigos,

Estoy haciendo cosillas para aprender sobre animaciones, y tengo este código que las hace bien.

El problema es que la animación de salida me hace parpadeos al final de la animación.

También se que se puede mejorar el código...... jejejejeje

Aguien sabría decirme porque?

Gracias
 

Attachments

  • efecto retocado.zip
    358.2 KB · Views: 282

JordiCP

Expert
Licensed User
Longtime User
Lo puedes hacer de dos maneras:

En ambas animaciones, prueba de sustituir el bucle "FOR" por esto (necesitas la librería REFLECTION)

B4X:
    animations = Array As Animation(a11, a21, a31, a41, a51, a61)
    Dim R As Reflector   
    For i = 0 To animations.Length - 1
        animations(i).Duration = 1000
        animations(i).RepeatCount = 0
        R.Target = animations(i)
        R.RunMethod2("setFillAfter","true","java.lang.boolean")
    Next

La animación está bien hecha el problema es que cuando finaliza, por un momento los botones vuelven a su estado original. Esto se puede evitar llamando al método apropiado de Java y decirle que quieto parao.



Otra manera equivalente es, además de usar la librería Animation, activar también (necesitarás las dos) ANIMATIONPLUS de Informatix .


En todos los sitios donde tengas "Animation", lo sustituyes por "AnimationPlus"

Y en los bucles "For", añadir

B4X:
    animations = Array As AnimationPlus(a11, a21, a31, a41, a51, a61)
    For i = 0 To animations.Length - 1
        animations(i).Duration = 1000
        animations(i).RepeatCount = 0
        animations(i).PersistAfter=True
    Next



Espero que te sirva
 

figorra

Member
Licensed User
Longtime User
Lo puedes hacer de dos maneras:

En ambas animaciones, prueba de sustituir el bucle "FOR" por esto (necesitas la librería REFLECTION)

B4X:
    animations = Array As Animation(a11, a21, a31, a41, a51, a61)
    Dim R As Reflector  
    For i = 0 To animations.Length - 1
        animations(i).Duration = 1000
        animations(i).RepeatCount = 0
        R.Target = animations(i)
        R.RunMethod2("setFillAfter","true","java.lang.boolean")
    Next

La animación está bien hecha el problema es que cuando finaliza, por un momento los botones vuelven a su estado original. Esto se puede evitar llamando al método apropiado de Java y decirle que quieto parao.



Otra manera equivalente es, además de usar la librería Animation, activar también (necesitarás las dos) ANIMATIONPLUS de Informatix .


En todos los sitios donde tengas "Animation", lo sustituyes por "AnimationPlus"

Y en los bucles "For", añadir

B4X:
    animations = Array As AnimationPlus(a11, a21, a31, a41, a51, a61)
    For i = 0 To animations.Length - 1
        animations(i).Duration = 1000
        animations(i).RepeatCount = 0
        animations(i).PersistAfter=True
    Next



Espero que te sirva

Gracias Jordi, solucioné el problema con tu aportación.

Dejo la pequeña aplicación por si a alguien le gusta o le sirve, aunque no es una aportación fantástica....

Recordad darle al like a Jordi y a este post..... jejejejeje
 

Attachments

  • efecto retocado.zip
    362.5 KB · Views: 412
Top