Delphi 6.0

Te agradezco mucho la respuesta sobre
Conseguir el sonido continuo en mi aplicación me ha funcionado perfectamente, ahora tengo otro problema estoy haciendo un juego, el típico de navecitas, esta casi terminado pero tengo un problema muy tonto y es que cuando muevo la nave la imagen parpadea al igual que las demás imágenes del juego.
Yo he puesto en el evento On Key Press del formulario:IF key=#50 then image1. Top:=image1. Top-1; y así con todas las teclas para mover la nave, es la única manera que se me ocurre de hacerlo pero no debe ser la correcta. ¿Cuál es la solución? Muchas gracias por adelantado.

1 respuesta

Respuesta
1
Aquí entramos en un problema de refresco, porque realmente cuando mueves una especie de sprite hecho con un Tpanel o incluso un gráfico con el Timage, estamos jugando con el refresco (actualización de imagen) de Windows, y lo que pasa es que se repinta toda la pantalla por cada movimiento y por eso te parpadea.
Aquí no podemos hacer nada en esa línea, ya que admiro tu capacidad para crear un juego dentro de tus posibilidades, pero no es la forma correcta :).
Para hacer un videojuego tienes que usar las Directx de Windows, donde puedes definir regiones y gráficos cuyos movimientos se sincronizan ya automáticamente con el refresco de imagen del monitor, y se pueden definir regiones con una especie de refresco individual, que es lo que hace que un videojuego se vea en pantalla estática y con movimientos suaves.
Usando los componentes que Delphi trae por defecto no podemos eliminar este problemilla, porque sería como querer poner un tractor a 200 km/h. Las Directx usan en profundidad las ventajas de la tarjeta gráfica, maneja vectores, polígonos y activa la aceleración.
No te metas de momento en profundidad con las directx, simplemente visita:
http://www.torry.ru
Pincha en VCL, y en la lista, fíjate en los componentes que hay para gráficos, donde hay muchísimos para Directx, incluso hay paquetes enteros que apenas con 10 líneas puedes incluso dar soporte de joystick a tu juego. Mi consejo es que de momento te bajes los componentes para Directx que te sean necesarios y comiences a ver un poco su manejo y su funcionamiento, y ya luego si quieres te vas metiendo poco a poco más en profundidad manejando las Directx sin componentes externos.
Los componentes que estas manejando ahora en tu juego no son para tal, son para aplicaciones, y pues ahí no podemos hacer otra cosa.
Venga, un saludo y vas a ver que cantidad de componentes fáciles de manejar para Directx hay en esa página.
Muchas gracias era la respuesta que necesitaba, es gracioso que mi propio profesor no supiese decirme porque pasaba, pero bueno para eso esta la buena gente como tu, ¿muchas gracias?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas