Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Scroll 2d Fluido (que No Rápido :)

Iniciado por TotalNoob, 04 de Junio de 2004, 10:13:32 AM

« anterior - próximo »

TotalNoob

 Rejolas!

 Pues vereis, despues de andar transteando un poco con el DirectX me he puesto manoplas a la obra y he comenzado a realizar un scroll mediante tiles (TileSize: 64x64, ScreenSize:640x480). Pues vereis, tengo un "mapeado" de 100x100 tiles, de los cuales lógicamente dibujo la ventana de visualización (10x8 tiles) y espero al retrazado para volcarla a la pantalla (bueno, de esto último, creo que se encarga DirectX ya que especifico el Flag XXXX_WAIT)

 Todo va de perlas para velocidades de desplazamiento del scroll entre 0.1 y 1. Realmente a con estas velocidades va realmente fluido. Con una velocidad de 2, tambien va fluido, pero a partir de ahi en adelante, el scroll va a "saltos". Si, va rápido, pero pegando botes :(

 Y claro, mi idea es hacer un juego de coches, tipo micromachines, y claro...en 1ª marcha el scroll va lento y fluido, pero en 5ª va rápido, si, pero no va nada fluido
       
 Me preguntaba si a alguien le ha pasado esto alguna vez, y como lo ha solucionado
 
 PD: ops, se me olvidaba, el render a pantalla lo hago usando mediante API de windows (QueryPerformanceCounter)  para asegurar que en un ordenador demasiado potente el scroll no vaya a toda pastilla y que en un PC demasiado lento (lease 386 o PC antes del Jurásico, era coña por supuesto :P) pierda frames a costa de mantener los tiempos de las animaciones de los personajes, coches, etc.  

---Happy CodInG ---

shephiroth

 Muy buenas. No se si la solucion que te voy a dar es viable o no, yo utilizo opengl y mis scrolls no son tan grandes, por lo que no tengo el problema q comentas.

Lo primero que me viene a la mente es "dibuja en el mismo tiempo el doble de frames haciendo la mitad de movimientos". Es decir, en 1 segundo tienes controlado que haga 60 frames. En quinta velocidad digamos que hay 5.0 de scroll y esto te da problemas de fluidez....la idea entonces sería, que en vez de 60 frames haga 120, en cada uno de los frames mueve 2.5.........el resultado es el mismo, misma distancia(60*5=300,120*2.5=300)...........el tiempo sigue siendo el mismo.........la mayor desventaja será la escena se dibujará el doble de veces, por lo que puede acarrear el consiguiente aumento de prestaciones que quizás no quieras.

Este es lo unico que se me ha ocurrido..............se que no era lo esperado, pero es una solucion :/






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.