Ir ao conteúdo

Posts recomendados

Postado

eis o meu actual código:

void DrawRays()
{
    int MapX =floor(PlayerPosX);
    int MapY=floor(PlayerPosY);
    while(LevelMap0[MapY][MapX]!=1)
    {
        MapX+=floor(cos(PlayerRadians)*1);
        MapY+=floor(sin(PlayerRadians)*1);
    };
    DrawLine(floor(PlayerPosX),floor(PlayerPosY),floor(MapX*32),floor(MapY*32),RGB(0,255,0));
}

eu somo 1 a 1 quadrado, consoante o Radiano do player, mas cada quadrado tem 32 por 32..

alguém, no Youtube, ao mostrar 1 algoritmo DDA, disse que era o mesmo... yah.. right.

eu posso ter o pseu-codigo errado, mas o raciocionio está correcto?

  • Curtir 1
  • 2 meses depois...
Postado

consegui, na linha horizontal para baixo, mas erra para cima 😞
 

If (Player.Radians < PI And Player.Radians > 0) Then 'facing down
        YA = ((Player.PosY \ ObjectSize) * ObjectSize) + ObjectSize
        XA = Player.PosX + (Player.PosY - YA) / -Tan(Player.Radians)
    Else If (Player.Radians > PI / 2 And Player.Radians > 0) Then 'facing up
        YA = ((Player.PosY \ ObjectSize) * ObjectSize) - ObjectSize
        XA = Player.PosX + (Player.PosY - YA) / -Tan(Player.Radians)
    End If

ok... agora o codigo não é C... mas não interessa...
preciso de saber:
1 - como verifico se o radiano esta para cima ou para baixo?
2 - como calcular para obter o ponto A(é o quadrado seguinte ao jogador mantendo o radiano)?
Moderador: porque falham as teclas direcionais ao escrever?

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!