GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Conectar-se

Esqueci minha senha

Últimos assuntos
» [Ideia] Concurso para relembrar os bons tempos
por vinians Hoje à(s) 09:40

» GMBR 2020 (jogo comemorativo)
por Diemorth Hoje à(s) 09:24

» Rodar o jogo em iOS
por matheushdj Ontem à(s) 20:04

» [XCREATOR] [JAM] [UPD] Farm Defense
por vinians Qui 09 Jul 2020, 23:31

» Dúvida sobre GameMaker
por Super Games Qui 09 Jul 2020, 19:32

» Apresentação de Rojas231
por Super Games Qui 09 Jul 2020, 19:17

» Vender extensões no marketplace da yoyo games?
por Willy Qui 09 Jul 2020, 09:55

» [DOWNLOAD] Manual Game Maker 8 traduzido
por matheushdj Qua 08 Jul 2020, 21:41

» Máquina de estado/State Machine no Unity
por theguitarmester Ter 07 Jul 2020, 22:17

» Eu sou o MoisesBR
por GabrielXavier Ter 07 Jul 2020, 22:04

» Melhor pontuação
por matheushdj Seg 06 Jul 2020, 22:23

» Problemas com animação e ataque
por moisesBR Seg 06 Jul 2020, 22:05

» Ideia para futuros concursos
por moisesBR Seg 06 Jul 2020, 20:51

» Para quem quer mexer com a Godot
por Super Games Seg 06 Jul 2020, 09:45

» MOON - [Indie Game Solo]
por vinians Seg 06 Jul 2020, 08:40


Dúvida com câmera

Ir em baixo

Dúvida com câmera Empty Dúvida com câmera

Mensagem por marcin_w_ em Ter 23 Jun 2020, 11:17

Gostaria de saber como fazer uma câmera um pouco mais dinâmica do que apenas "seguir o player", na verdade nem é algo tão complexo...meu top down shooter é um AWSD+mouse e eu gostaria de saber como fazer uma câmera com "smooth movement" que mantém o player sempre na tela (não necessariamente no centro, mas também não muito nas beiradas) e que se incline para a posição do mouse (mira), algo tipo hyper light drifter. Sei que não vai ser algo tão simples de realizar, mas aceito quaisquer ideias de como começar isso ou de como solucionar o problema todo pois sempre que recebo uma solução aqui eu levo até o fim pois ajustando eu sempre chego lá. Agradeço.

EDIT: Acredito que seria algo mais pelo caminho de como manter o player e a mira dentro da tela ao mesmo tempo fazendo com que a camera siga a mira, não sei se é exatamente isso mas acredito que é por esse caminho.
marcin_w_
marcin_w_

Data de inscrição : 25/11/2012
Reputação : 4
Número de Mensagens : 90
Prêmios : Dúvida com câmera Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Dúvida com câmera Empty Re: Dúvida com câmera

Mensagem por William Lima em Ter 23 Jun 2020, 11:27

Tu pode criar uma lógica manipulando a posição da view desejada usando view_xview e view_yview. Aplicando assim essa lógica em um objeto "camera" global.

Exite um tutorial bem recente feito pelo Super Games que faz a tela tremer utilizando esses atributo, quem sabe te ajude a estudar essas propriedades. Segue o link:
Básicos do GameMaker: Tremer Tela by Super Games
William Lima
William Lima

Games Ranking : Nota A

Notas recebidas : C+A+A+B+A
Data de inscrição : 10/09/2010
Reputação : 10
Número de Mensagens : 430
Prêmios : Dúvida com câmera Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://konsole.studio

Voltar ao Topo Ir em baixo

Dúvida com câmera Empty Re: Dúvida com câmera

Mensagem por Diemorth em Ter 23 Jun 2020, 16:46

@marcin_w_ escreveu:EDIT: Acredito que seria algo mais pelo caminho de como manter o player e a mira dentro da tela ao mesmo tempo fazendo com que a camera siga a mira, não sei se é exatamente isso mas acredito que é por esse caminho.

O Hyper Light Drifter se não estou enganado, quando o personagem se move, a tela é centraliza em um ponto pouco mais a frente dele, na direção que ele está olhando. Para calcular esse ponto você pode usar o lengthdir_x e o lengthdir_y.

Basicamente um point_distance ajuda para checar se vai mover a câmera ou não. De maneira a evitar que fique muito brusca a movimentação da câmera e chegar no efeito mais "smooth" que você quer(como na referência citada), recomendo usar lerp ou o move_towards_point.

Note também que essa "centralização" da câmera no ponto, depende das bordas da tela, então você vai precisar(como o William Lima indicou) checar/mover o view_xview e o view_yview. Também é útil dar uma olhada nos valores do view_width e a view_height para garantir um zoom consistente.

Se quiser deixar mais dinâmico respeitando as bordas do mapa, uma solução para manter a câmera pegando apenas elementos no cenário pode ser a função clamp.

Acabei encontrando esse tutorial de câmera dinâmica no youtube que pode ajudar, se você precisar de explicação sobre alguma parte específica ou tiver algum problema sinta-se a vontade para mandar uma MP, ficarei feliz em ajudar.


Edit.: O GameMaker:Studio 2 parece não usar as funções de view clássicas da documentação, mas existem funções de view equivalentes.
Diemorth
Diemorth

Games Ranking : Sem avaliações

Data de inscrição : 26/01/2020
Reputação : 6
Número de Mensagens : 22
Prêmios : Dúvida com câmera Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • Unreal
  • Javascript
  • C ou C++
  • Outros


https://diemorth.github.io/diemorth

Voltar ao Topo Ir em baixo

Dúvida com câmera Empty Re: Dúvida com câmera

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum