Page 8 of 18
Re: Megaman XS
Posted: Sat Jun 13, 2009 10:27 pm
by CicTec
No necesitas floats, la solucion a tu problema es
RESOLUTION, mira el
TUTORIAL5 de DIV para verlo en accion

Re: Megaman XS
Posted: Sat Jun 13, 2009 11:43 pm
by GINO
Ademas es imposible hacer incrementos de menos de 1 pixel, si usas resolution ganas precision pero al final siempre se adapta a 0 si es menor de 1, en la pantalla, se use floats o int.
Re: Megaman XS
Posted: Sun Jun 14, 2009 12:15 am
by Dluk
CicTec wrote:No necesitas floats, la solucion a tu problema es
RESOLUTION, mira el
TUTORIAL5 de DIV para verlo en accion

Ah, cierto, CicTec, había olvidado esa maravillosa variable local. Voy a probarlo y después les digo como me fue ^^
Re: Megaman XS
Posted: Sun Jun 14, 2009 4:10 pm
by Dluk
Bueno, lo de
RESOLUTION no me dió tan buenos resultados por el tema de las colisiones, hay que modificar de todo para que quede bien. Pero se me ocurrió hacer otra cosa: puse los
FPS a 60 y cambié todos los
FRAME; por
FRAME(200); para ver que pasaba y resultó que el juego ganó cierta suavidad. Pueden probar el resultado descargandolo de:
http://www.mediafire.com/?yljimnutynm
¿Que dicen? ¿Quedó mejor? ¿Podría quedar mejor con
RESOLUTION?
Saludos ^^
Re: Megaman XS
Posted: Sun Jun 14, 2009 5:08 pm
by CicTec
Yo lo veo muy suave, tanto la velocidad de juego como las animaciones.
Re: Megaman XS
Posted: Sun Jun 14, 2009 5:56 pm
by Nightwolf
Descargando...
Io lo que hice en el castlevania cuando pasé de 25 a 60 FPS fue crea una variable que controlaba las animaciones. De tal manera que si antes en cada frame, incrementaba tambien la animación del personaje, ahora lo hacía cada 2 frames. Pero los frames siempre a 100.
Creo recordar que poner frames por encima de 100 indica una pequeña sobrecarga no, y había que evitarlo? ¿o estoy equivocado?
Muucho más suave. Ahora, para ganar aún mas, recuerda, si antes tenías incrementos por frame de x+=2, pon x+=1 y el frame a 100, verás como ganas un scroll mucho más agradable de ver, y el movimiento de personajes gana un montón

Pero para eso, debes también ajustar las animaciones. Pruebalo
Por cierto, io quiero una versión megamanera clásica ^^ Si liberas el source molaría toquetearlo

Re: Megaman XS
Posted: Sun Jun 14, 2009 6:00 pm
by CicTec
Nightwolf wrote:
Creo recordar que poner frames por encima de 100 indica una pequeña sobrecarga no, y había que evitarlo? ¿o estoy equivocado?
No, simplemente es una forma de quedar con el antiguo frame para un cierto tiempo, por ejemplo...
Si tenemos el juego a 60 FPS, usando FRAME, significa que ipoteticamente un grafico se actualiza 60 veces al segundo, ponendo FRAME(200) se actualizara 30 veces al segundo, o sea la midad.
Re: Megaman XS
Posted: Mon Jun 15, 2009 4:22 pm
by Nightwolf
mmm claro, sí, era justamente al contrario, para que un proceso ocupe más tiempo, sería con el frame reduciendolo... así se ejecuta mas veces

Re: Megaman XS
Posted: Mon Jun 15, 2009 5:25 pm
by Dluk
No sirvió lo de FRAME(200), ya que si llamo un proceso cuando todos los otros se ejecutaron, se desincroniza con el resto y se ve como un "parpardeo". Así que ahora estoy buscando otra solución :S
Re: Megaman XS
Posted: Mon Jun 15, 2009 8:29 pm
by Dluk
Resincronizado, hice lo siguiente:
1) Reemplacé todos los
FRAME; por el siguiente código:
Code: Select all
IF(frame_obligatorio==0) FRAME; END IF(frame_obligatorio==1) FRAME; END
2) Creé un proceso que controla la variable
frame_obligatorio, con lo cual todos los procesos del juego quedan sincronizados y yo no tengo que modificar ni las animaciones ni los incrementos:
Code: Select all
//*********************************************//
// //
// //
// PROCESO CONTROL FRAME //
// //
// //
//*********************************************//
PROCESS control_frame();
BEGIN
LOOP
priority=10000;
IF(frame_obligatorio==0)
frame_obligatorio=1;
ELSE
frame_obligatorio=0;
END
FRAME;
END
END
Pueden descargar la segunda prueba a 60 FPS de
http://www.mediafire.com/?hxty2o1terw. A mi me parece que ganó el doble de suavidad, no se como lo ven ustedes.
Saludos