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)); }
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(); } }