De nuevo yo molestando ;D
Resulta que tengo que mover mi personaje por una pantalla de 640x480. La cantidad de pixeles por frame que se mueve el personaje estaba dada por un entero "velocidad", que puede ser diferente para cada personaje según sus power-ups, etc.
El asunto es que la velocidad estándar es 3, y me parece que la brecha entre velocidad 3 y 4, es demasiado alta. Intenté cambiarla por un float, pero me di cuenta de inmediato que a la hora de movimiento, parece que este valor se redondea, así que no me sirvió.
No se me ocurre cómo ingeniármelas :/ alguna idea?
las posiciones en pantalla son todas int, as´que olvidate de floats y demás xD
puedes usar resolution, o colocar un valor distinto al frame, o cambiar el fps, etc.
El problema esta en que x e y son variables int, asique siempre redondeara cuando le añadas incrementos con floats.
Lo que puedes hacer es crear unas variables floats para designar x e y.
Por ejemplo
float fX;
float fX;
Todos los calculos de movimientos e incrementos los realizas con estas variables y al final del proceso haces
x = fX;
y = fY;
De este modo solo redondeara la posicion final de fX y fY, y no los incrementos, que los guardara siempre adecuadamente en estas variables floats
para tener mas precision de movimiento tenes que usar resolution... busca resolution en el foro, ya se explico el tema varias veces, sino en la wiki seguro esta.
Si pones resolution=10; la velocidad para recorrer 3 píxeles debería pasar a ser 30, y para recorrer 4 debería ser 40.
http://wiki.bennugd.org/index.php?title=Resolution (http://wiki.bennugd.org/index.php?title=Resolution)
Muchas gracias a todos por las respuestas, creo que resolution era lo que buscaba.
Saludos!