Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problema con dx_lib y las animaciones

Iniciado por Dirfinyu, 02 de Junio de 2007, 09:39:26 AM

« anterior - próximo »

Dirfinyu

Hola a todos. Soy un aficionado a la programacion con VB, y hace poco descubri esta libreria(Miles de felicitaciones por ella).
Empece a probar las cosas y todo me sale mas o menos bien. Si bien, antes de nada me gustaria añadir que mi forma de programar es un poco...primitiva.
Hice un inicio de juego en el que si aprietas la tecla derecha un bicho se va moviendo, voy modificanco estos valores:
Cuerpo = m_gfx.MAP_Load(App.Path & "\graficos\cuerpo10.png", 0)', True)
Y luego los dibuja en pantalla.
Call m_gfx.DRAW_Map(Cuerpo, PosXCuerpo, PosYCuerpo, 0, 106, 82)
Puse que al pulsar la tecla derecha sumara 1 al contyador animacion y si el contador es 1, o 2 o 3 o 4 el valor de Cuerpo cambie.

Las imagenes realizadas para la animacion estan en png y de fondo puse otra imagen png. Bien pues cuando no pulsas nada el cuerpo del bicho esta tal como lo dejaste y se ve perfectamente.
El problema es que al dejar presionada la tecla derecha el bicho se mueve con su animacion, pero se le ven los bordes blancos y por muchas cosas que he intentado siguen viendose blancos cuando esta en movimiento, y eso hace que quede feo ya que el fondo no es de color blanco. Aclaro otra vez que al pararse esos bordes blancos no estan.
Alguna sugerencia?
Saludos y gracias

[EX3]

Wenas.

Citarvoy modificanco estos valores:
Cuerpo = m_gfx.MAP_Load(App.Path & "\graficos\cuerpo10.png", 0)', True)
Y luego los dibuja en pantalla.
Call m_gfx.DRAW_Map(Cuerpo, PosXCuerpo, PosYCuerpo, 0, 106, 82)
Puse que al pulsar la tecla derecha sumara 1 al contyador animacion y si el contador es 1, o 2 o 3 o 4 el valor de Cuerpo cambie.
Cargas los graficos cada vez que pulsas la tecla de animacion? Quizas el fallo venga por esto. No tienes que ir cargando los graficos en cada paso de la animacion si no cargar todos los graficos que vayas a usar, de la animacion tanto de la escena, y simplemente dibujar el grafico que necesites en su momento. La carga de graficos es un proceso lento y eso no solo puede afectar a que no se vea correctamente las imagenes si no que vaya mas lento el programa. Prueba a crear un array de n elementos donde almacenes todos los fotogramas de la animacion. Despues, simplemente actualiza la variable contador para que dibuje el grafico correspondiente al paso de la animacion, osea, seria lo mismo que tienes ahora pero sin realizar la carga de los graficos.

CitarSi bien, antes de nada me gustaria añadir que mi forma de programar es un poco...primitiva.
Dilo dilo, es una mierda :P En serio, estoy totalmente deacuerdo y no eres el primero que me lo ha llegado a decir :) Este diseño esta planteado tal y como programaba yo hace 5 años atras (lo que tiene el BASIC, que te aleja de la POO) y sobre todo si añadimos que en sus inicios se basaba en el lenguaje de DIV Game Studio (de ahi que la instruccion de pintado de escena se llame Frame() ;)). Yo en verdad cuando tengo que programar algo con la libreria siempre acabo programando una capa encima basada en clases que hacen de coleccion, objetos textura, etc...

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






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.