Example #1
0
        public bool NaMira(GraphicsDevice graphicsDevice)
        {
            //Calcula a distância entre a base do canhão e o centro do disco voador
            InformacaoDiscoVoador inf = InformacaoDiscoVoador.GetInformacao(this);
            float x = Posicao.X + inf.distancia * (float)Math.Cos(RadianosCorrigido);
            float y = Posicao.Y - inf.distancia * (float)Math.Sin(RadianosCorrigido);

            return(Math.Abs(x - inf.xDiscoVoador) <= MARGEM_ERRO && Math.Abs(y - inf.yDiscoVoador) <= MARGEM_ERRO);
        }
Example #2
0
 internal void CorrigirCoordenada(GameTime gameTime)
 {
     if (gameTime.TotalGameTime.TotalMilliseconds - miliSegundoUltimaAcao > 200)
     {
         const float           velocidade = 1.2f;
         InformacaoDiscoVoador inf        = InformacaoDiscoVoador.GetInformacao(this);
         float seno    = inf.catetoOposto / inf.distancia;
         float radiano = (float)Math.Asin(seno);
         if (radiano > RadianosCorrigido)
         {
             Angulo += velocidade;
         }
         else if (radiano < RadianosCorrigido)
         {
             Angulo -= velocidade;
         }
         miliSegundoUltimaAcao = gameTime.TotalGameTime.TotalMilliseconds;
     }
 }