https://foro.gambas-es.org/viewtopic.php?f=1&t=2775&p=15752#p15752
-----------------------------------
jsbsan
Martes, 18 Diciembre 2012, 23:03

Re: Efecto Persiana
-----------------------------------
[quote]a) Haciendo que en cada pixel el wait sea proporcionalmente un poco mayor.[/quote]
No, ya que la relacion no es proporcional, sino es una potencia (tiempo elevado a 2)

[quote]
..... wait.
(para conseguir un movimiento sin trompicones, se entiende)
[/quote]

Yo no usaria un wait (que lo que hace es parar la ejecucion del programa el tiempo que le digas, no dejandote ejecutar mas), lo suyo es usar un control timer, que cada vez que se dispare, dibuje el formulario... y asi puedes estar ejecutando otra parte de tu programa. (asi es como lo hago en los juegos  que he realizado)

[quote]Esto parece más cosa de videojuegos que de aplicaciones de escritorio, la verdad [/quote]
Estas haciendo una animación... y por lo tanto... tienes que dar la sensación de movimiento al ojo humano... para ello lo que se hace en las peliculas es cada segundo emitir 24 fotogramas y asi "da la sensación" de movimiento... tu tienes que hacer el programa de forma parecida. Tienes que redibujar cada 1/24 segundos (0.041 segundos) un fotograma (en tu caso tu formulario) en tu pantalla, y asi parecerá que se produce movimiento "sin trompicones"... 

Mirate esto: [url=http://es.wikipedia.org/wiki/Fotograma]Fotogramas por Segundo 

He hecho un pequeño código, y creo que consigo lo que quieres...
He puesto un coeficiente (que puedes alterar con un control  Slider) en la ecuación del movimiento del eje Y, para ver como se puede acelerar o desacelerar el movimiento.


