Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: MasterHunterFTW en Febrero 04, 2014, 05:30:56 PM

Título: Ayuda con un juego (Arkanoid)
Publicado por: MasterHunterFTW en Febrero 04, 2014, 05:30:56 PM
Estoy haciendo un arkanoid para android xd y tengo un problema, ese problema es la pelota rebota para donde le da la gana y yo quiero que lo haga tal y como lo hace en el arkanoid real, si me pudieran ayudar seria genial  :D
Título: Re:Ayuda con un juego (Arkanoid)
Publicado por: Iros en Febrero 04, 2014, 05:45:36 PM
Primero que nada tenes que dividir virtulmente por así decir la barrita, es decir, si la pelota pega del centro de la barra para la izquierda que la dirección de la pelotita sea para la izquierda, si pega de la mitad para la derecha de la barra, lo mismo, la dirección de la pelotita tiene que ir a la derecha. Es más, hasta podrías ponerle que si rebota en +-5, 10 o lo que sea de X a partir del centro que el rebote sea en 90°.

[EDIT]

Algunas veces es bueno ver los ejemplos de versiones de GM anteriores, GM4 tiene un ejemplo de un breakout, en el evento step de la barra pone este código complemente compatible con GMS:

[gml]
{
  if (other.x < x)
    { other.direction = 110 + 80*(x-other.x)/sprite_width;}
  else
    { other.direction = 70 + 80*(x-other.x)/sprite_width;}
  if (other.y > y) other.direction := 360-other.direction;
}
[/gml]

En la colisión con las paredes lo que hace es invertir el rebote, es decir, si la dirección de la pelota venía desde abajo, la invertía para que fuera para arriba y viceversa.