Hola qué tal, creo que se podría hacer de dos maneras. Una sería usando dos hilos (threads) de forma que con uno controles el redibujo del fondo y con otro el redibujo del personaje, pero a su vez esto lo veo como una complicación. La otra manera y que pienso más sencilla es que dentro del juego tienes que hacer el redibujado cada cierto tiempo en milisegundos para ir actualizando el contenido de la pantalla. Lo que tendrías que hacer es ajustar el intervalo entre redibujados a un valor adecuado. Para un método como saltar lo que tendrías que hacer es que si quieres que el personaje suba rápido y baje lento por ejemplo la subida que se produzca durante 4 redibujados y la bajada durante 8 redibujados, de esta forma la apariencia será que baja lento. Es decir, la pantalla se debe redibujar por ejemplo cada 100 milisegundos, el personaje subiría en 400 milisegundos y bajaría en 800 milisegundos. El redibujo sería siempre a intervalos iguales, lo que cambiarías sería dónde está el personaje en cada redibujado. Saludos.