Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Movimiento Círcular De Una Nave

Iniciado por javiel, 26 de Marzo de 2004, 08:23:57 AM

« anterior - próximo »

javiel

 Hola a todos

Ayer estuve intentando, pero no pude,  hacer con SDL y C++ el movimiento en círculos de una nave, pero no pude. La idea es:

Tengo una nave en un punto dado de la pantalla y quiero que haga el movimiento en un círculo a partir de eso punto inicial. Para ello pillé la fórmula del círculo.

r * r = x * x + y * y

Entonces le voy dándo valores a la X y tomando los valores de Y para poner la nave en su sitio, pero la verdad que es una locura. Los primero 90 grados me los hace, pero después me vuelvo loco para poder seguir haciendo el movimiento.

¿alguien me puede dar la idea de como hacerlo?

¿conocéis de alguna página (preferentemente en español) que explique diferente movimiento para juegos en 2D?

gracias y un saludo  B)  
uper-Tirititran: el superhéroe gaditano (http://www.super-tirititran.com)

Haddd

 Usa el seno y el coseno, que son para eso!! (ole)

x=cos(angulo en radianes)*radio
y=sin(angulo en radianes)*radio

eso te recorre una circunferencia. Para colocarla en algún sitio, sólo tienes que sumarle el desplazamiento:

x=x+CentroX
y=y+CentroY


ethernet

 la ecuacion de la circunferencia es:

f(x) = sqrt(1-x*x); o mejor expresado:

R*R = x*x + y*y siendo R una constante.

Yo optaria por la solucion de haddd.
Cuanto ganariamos si las tarjetas trabajaran en coordenadas circulares XD

saludos

sés

 
Cita de: "javiel"Hola a todos
¿conocéis de alguna página (preferentemente en español) que explique diferente movimiento para juegos en 2D?

No, pero te puedo aconsejar algo.

No utilices rutas de ese tipo (funciones matemáticas). Lo mejor para un juego de naves, para el movimiento de los enemigos, es tener rutas predefinidas. Yo siempre lo he hecho con polilíneas.

Así defines que un enemigo E aparece en la posición X, con la ruta asignada R.

Bueno... siempre puedes hacer que determinados códigos de ruta sean equivalentes a fórmulas matemáticas, pero es más rollo y tienes que hacer código diferente para cada tipo de ruta.

Las rutas las puedes definir de varias formas (échale imaginación). Por ejemplo una simple lista de puntos, representando desplazamientos relativos al anterior. Puedes asignar también propiedades a cada punto (cambio de velocidad, disparar... vamos, cualquier acción).

Al asignar la ruta, puedes decir cómo quieres que la siga al terminar (que vuelva atrás, que siga en la dirección que llevaba, que desaparezca...).

Lo dicho, échale imaginación.
Soy indeciso... ¿o no?






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.