O que há de Novo?
Fórum Outer Space - O maior fórum de games do Brasil

Registre uma conta gratuita hoje para se tornar um membro! Uma vez conectado, você poderá participar neste site adicionando seus próprios tópicos e postagens, além de se conectar com outros membros por meio de sua própria caixa de entrada privada!

  • Anunciando os planos GOLD no Fórum Outer Space
    Visitante, agora você pode ajudar o Fórum Outer Space e receber alguns recursos exclusivos, incluindo navegação sem anúncios e dois temas exclusivos. Veja os detalhes aqui.


[Game Maker] Problema em fazer a câmera seguir outro objeto!

Marbow

Bam-bam-bam
Mensagens
5.559
Reações
6.740
Pontos
344
Depois de um bom tempo conseguindo resolver as coisas sozinho apareceu um "problema" que não estou conseguindo resolver xD

Eu criei um objeto para ser a camera do jogo e fiz ela seguir o jogador (Assim a movimentação da camera fica mais suave e o personagem não fica sempre no centro da tela)

O problema é que quero que quando apareça uma mensagem a câmera "siga" a mensagem para ela não ficar fora da tela, mas não estou conseguindo fazer isso.

O código que estou usando para a câmera é esse:

if (instance_exists (OBJ_Personagem)) {
x = OBJ_Personagem.x;
y = OBJ_Personagem.y;
}

Tentei fazer algo do tipo:

if (instance_exists (OBJ_dialog)) {
x = OBJ_dialog.x;
y = OBJ_dialog.y;
} else {
x = OBJ_Personagem.x;
y = OBJ_Personagem.y;
}

Mas não deu certo.
 

Mr.Unknown

Ser evoluído
Mensagens
27
Reações
74
Pontos
23
Pra fazer a mensagem permanecer na tela, você precisa posicioná-la em relação à tela ao invés do cenário.
Já faz um bom tempo que não mexo com essa ferramenta, então recorri a uma rápida pesquisa pra relembrar. Na própria documentação achei algo que pode resolver, dê uma olhada no exemplo lá no final: https://docs.yoyogames.com/source/dadiospice/002_reference/windows and views/views/view_xview.html

Com base nisso, você provavelmente vai conseguir fazer. É só questão de usar aquele view_xview e view_yview pra posicionar a mensagem em relação à tela. :)
 

Marbow

Bam-bam-bam
Mensagens
5.559
Reações
6.740
Pontos
344
Pra fazer a mensagem permanecer na tela, você precisa posicioná-la em relação à tela ao invés do cenário.
Já faz um bom tempo que não mexo com essa ferramenta, então recorri a uma rápida pesquisa pra relembrar. Na própria documentação achei algo que pode resolver, dê uma olhada no exemplo lá no final: https://docs.yoyogames.com/source/dadiospice/002_reference/windows and views/views/view_xview.html

Com base nisso, você provavelmente vai conseguir fazer. É só questão de usar aquele view_xview e view_yview pra posicionar a mensagem em relação à tela. :)

Vlw, mas acho q vc não entendeu exatamente o que qual é o problema xDD

Se o personagem está lendo uma placa a mensagem vai aparecer em cima da placa pq o objeto está perto do personagem, mas de em uma cena um personagem acima do jogador falar parte da mensagem não está aparecendo pq o personagem que está falando está na "borda" da tela.

Então eu quero que quando alguém fale, quando alguma mensagem de texto apareça, a câmera siga ela em vez do personagem.
 

_Fabio

Veterano
Mensagens
254
Reações
630
Pontos
108
Não é mais simples desenhar a janela de diálogo respeitando as bordas da tela?
Basta verificar se o personagem que está falando se encontra além de um certo limite (tenha por base as dimensões dessa janela de diálogo), dai tu executa o draw disso conforme as 4 possibilidades (ancorado no topo, na base, na esquerda ou direita).
Não estando nessa condição, o diálogo pode ser desenhado próximo do personagem normalmente.
 

Marbow

Bam-bam-bam
Mensagens
5.559
Reações
6.740
Pontos
344
Não é mais simples desenhar a janela de diálogo respeitando as bordas da tela?
Basta verificar se o personagem que está falando se encontra além de um certo limite (tenha por base as dimensões dessa janela de diálogo), dai tu executa o draw disso conforme as 4 possibilidades (ancorado no topo, na base, na esquerda ou direita).
Não estando nessa condição, o diálogo pode ser desenhado próximo do personagem normalmente.

Eu pensei que seria mais facil fazer a camera ir em direção ao dialogo, mas estou vendo que não é bem assim xD

Acho que daqui a pouco vou usar o dialogo mais basico que fica no canto inferior da tela e acabou.

E só para saberem como é o dialogo:
 


Marbow

Bam-bam-bam
Mensagens
5.559
Reações
6.740
Pontos
344
Tá ficando bem bacana seu jogo, cara.
Gostei bastante do visual.

Vlw! Só tem algumas coisas que tenho que arrumar e depois meter a cara em fazer tiles xD

Quando estiver mais perto de terminar crio um topico para apresentar o jogo pro pessoal.
 
Topo Fundo