Ativa o menu
Alternar menu de preferências
Alternar menu pessoal
Não autenticado(a)
Your IP address will be publicly visible if you make any edits.
Revisão de 17h28min de 6 de março de 2026 por MegaManx3 (discussão | contribs) (Criou página com '__NOTOC__ {{note|Esta página é sobre uma função de ACS. Para uma expressão {{c|atan2}} em ZScript, veja '''aqui'''.}} fixed '''VectorAngle''' (int ''x'', int ''y'') == Uso == Retorna o ângulo em ponto fixo do vetor (''x'',''y''). Os ângulos são medidos a partir do leste e avançando no sentido anti-horário. Esta função é mais comumente conhecida como ''atan2''. Para obter o valor de '...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Note: Esta página é sobre uma função de ACS. Para uma expressão atan2 em ZScript, veja aqui.


fixed VectorAngle (int x, int y)

Uso

Retorna o ângulo em ponto fixo do vetor (x,y). Os ângulos são medidos a partir do leste e avançando no sentido anti-horário.

Esta função é mais comumente conhecida como atan2. Para obter o valor de atan(x), use VectorAngle(1.0, x)

Parâmetros

  • x, y: Coordenadas do ponto final do vetor.

Valor de retorno

Ângulo em ponto fixo do vetor (x,y).

Exemplos

Este script vai imprimir um pequeno ^ na parte de baixo da tela do jogador apontando para o ator com TID definido como 1:

script 1 ENTER
{
    int vang, angle;
    while(Predefinição:Const)
    {    
        vang = VectorAngle (GetActorX (1) - GetActorX (0), GetActorY (1) - GetActorY (0));
        angle = (vang - GetActorAngle (0) + 1.0) % 1.0;

        if (angle < 0.2 || angle > 0.8)
        {
            int sx = 320 - (320 * Sin (angle) / Cos (angle));

            SetHudSize (640, 480, 0);
            HudMessage (s:"^"; Predefinição:Const, 1, Predefinição:Const, sx * 1.0, 480.2, 0);
        }
        else
        {
            HudMessage (s:""; Predefinição:Const, 1, 0, 0, 0, 0);
        }

        Delay (1);
    }
}