示例#1
0
 public void ativarantiRocket()
 {
     zerarantiRocket();
     antiRocketAtivo = true;
     setImagem(owner.getImagemHidden());
     setPosition(owner.getPosition());
     direcao_ = owner.getDirecao();
 }
        public Vector2 Calcularpursuit(Arma arma, float secs)
        {
            Vector2 toTarget = alvo.getPosition() - arma.getPosition();
            float   relative = Vector2.Dot(arma.getDirecao(), alvo.getDirecao());

            if (Vector2.Dot(toTarget, arma.getDirecao()) > 0 &&
                relative < -0.95)
            {
                return(new BehaviorSeek(alvo.getPosition()).Calculate(arma, secs));
            }

            float lookAheadTime = toTarget.Length() / (arma.getMaxVelocidade() + alvo.getVelocidade().Length());

            return(new BehaviorSeek(alvo.getPosition() + alvo.getVelocidade() * lookAheadTime).Calculate(arma, secs));
        }
示例#3
0
 public override void Initialize()
 {
     base.Initialize();
     if (tipoArma.Equals(2))
     {
         setImagem(carregarImagem("imagens/laser2"));
     }
     else
     {
         setImagem(carregarImagem("imagens/laser"));
     }
     // ARRUMA A DIRECAO DO TIRO
     if (direcao == new Vector2(0, 0))
     {
         direcao = nave.getDirecao();
     }
 }