Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: HenBanKeN on June 18, 2011, 06:53:40 AM

Title: Usando floats en el movimiento
Post by: HenBanKeN on June 18, 2011, 06:53:40 AM
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?
Title: Re: Usando floats en el movimiento
Post by: FreeYourMind on June 18, 2011, 09:37:43 AM
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.
Title: Re: Usando floats en el movimiento
Post by: Mr Matsusaka on June 18, 2011, 11:11:55 AM
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
Title: Re: Usando floats en el movimiento
Post by: SplinterGU on June 18, 2011, 02:03:56 PM
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.
Title: Re: Usando floats en el movimiento
Post by: oriun on June 18, 2011, 02:41:35 PM
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)
Title: Re: Usando floats en el movimiento
Post by: HenBanKeN on June 18, 2011, 11:26:38 PM
Muchas gracias a todos por las respuestas, creo que resolution era lo que buscaba.

Saludos!