1 votos

Determain a Sprites Velocidad de movimiento.....

Tengo un Sprite y su velocidad de paseo está configurada para moverse 1 pixel cada 100 milisegundos.

Const Walk_Speed = 100 ' Milisegundos

Si quiero que el Sprite se mueva más lento, aumento su velocidad de paseo en milisegundos. Si cambio la velocidad del Sprite a 200 milisegundos, entonces se mueve 1 pixel cada 200 milisegundos. Si lo pongo a 50 milisegundos el Sprite se mueve más rápido, por supuesto.

Lo que estoy tratando de averiguar es esto.....

En mi mapa, por donde se moverá el sprite. Diferentes terrenos tendrán diferentes modificadores de velocidad, los valores son de .1 a 2.5 o más...

Moverse en una llanura sería la velocidad normal, 1.0

Las colinas serían la velocidad, .8

Montañas sería velocidad, .5

Moverse por una carretera sería velocidad, 1,2

¿Qué ecuación matemática puedo configurar para obtener el valor correcto en milisegundos?

IE....

100 milisegundos de velocidad, con un modificador de 0,5 debería reducir la velocidad de los Sprites a la mitad, haciendo que su nueva velocidad en milisegundos sea de 200.

Y si hay un modificador de velocidad de 1,5, el sprite debería moverse a mayor velocidad.

Espero haberme explicado bien, cualquier ayuda será muy apreciada.

0voto

cBEiN Puntos 82

Parece que la variable que estás configurando es la cantidad de tiempo necesario para que el sprite mueva 1 píxel (por ejemplo, 100 milisegundos para mover 1 píxel) no la velocidad. Esto es confuso, así que déjame explicarlo de una mejor manera.

En general, la velocidad se define como distancia por tiempo, así que tu velocidad debería ser píxeles por segundo (o píxeles por milisegundo si quieres). Así, si tu velocidad por defecto es de 1 píxel por cada 100 milisegundos, deberías definir tu velocidad por defecto como

$$\textsf{speed} = \frac{\textsf{distance}}{\textsf{time}} = \frac{1 \; \textsf{pixel}}{100 \; \textsf{millisecconds}}$$

Ahora, puedes simplemente cambiar tu velocidad multiplicando tu velocidad por alguna constante digamos $c$ . Por lo tanto, si necesitas saber el tiempo necesario para recorrer un solo píxel, sólo tienes que hacer un poco de álgebra básica para obtener el tiempo reordenando y multiplicando la velocidad por $c$ .

$$\textsf{time} = \frac{1}{c \times\textsf{speed}}$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X