Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

[PROG]#DGM Aula 01 - Views

Tutoriais, videoaulas, guias e downloads para te ajudar nos estudos.
Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 620
Localização: Dourados-MS

Contato:

[PROG]#DGM Aula 01 - Views

Mensagem por All-x » Sex Abr 29, 2016 3:52 pm

DESVENDANDO O GAME MAKER

Aula 01 - Views

(Atualizado 08/02/2015)



Views são usadas em jogos que têm fases muito grandes para serem desenhadas na tela. São as populares "câmeras" que seguem algum elemento do jogo.

Jogos como Pacman tem somente uma tela, ela fica estática e imóvel. Mas há telas como do Super Mario World que acompanha o personagem (Scrolling), pois a fase é muito grande para ficar em um tela só.

Imagem

Hoje vamos entender como funciona o sistema de Views do Game Maker. Baixe a engine abaixo para nós conStruirmos juntos um sistema de views:

[GM:S] DOWNLOAD DA ENGINE

[GM8] DOWNLOAD DA ENGINE

Execute a engine. Você verá que a tela é como a do Pacman, estática. Vamos fazer uma View como a do Mario.
Abra a sua room, va na aba views, selecione a opção Enable the use of views, que significa ativar o uso de views nesta room:

Imagem

Você pode escolher até 7 views, para 7 objetos. Mas raramente você usará mais de uma. Então selecione apenas a view 0.

A opção Enable view when room starts, siginifica Ativar views quando a room iniciar. Marque esta opção:

Imagem

Logo abaixo temos uma seção chamada view in room, aqui determinaremos a posição inicial da view (x e y) e seu tamanho (W: largura e H: altura). Essa é a resolução da view. Deixe como na imagem abaixo:

Imagem

Mais abaixo temos uma seção chamada Port on screen. X e Y é a posição da janela na tela e W e H é o tamanho da janela na tela do computador (Muda o tamanho da janela, não a resolução), deixe como na imagem abaixo:

Imagem

Por ultimo, temos Object following, é o objeto que a view vai seguir. Selecione o objeto player, como na imagem:

Imagem

Hbor: é a distância entre o objeto e as verticais (esquerda e direita) da view que vão fazer a view se mover.

Vbor: é a distância entre o objeto e as horizontais (cima e baixo) da view que vão fazer a view se mover.

Ou seja, quando a distância entre o player e as bordas for menor ou igual ao valor colocado, a view vai se mover.

Hsp: é a velocidade horizontal em que a view segue o objeto. O valor padrão "-1" faz com que a view acompanhe o objeto em tempo real, sem ficar atrasada.

Vsp: é a velocidade vertical em que a view segue o objeto. O valor padrão "-1" faz com que a view acompanhe o objeto em tempo real, sem ficar para trás.

Teste o jogo. Fizemos nossa view como a do Mario. Mas agora vamos dar um charme para nossa view, fazendo ela seguir o objeto um pouco devagar. Troque os valores de Hsp e Vsp para 3. Tente não usar valores que ultrapassem muito a velocidade do player, senão ficará rapido demais. E nem valores muito baixos, senão o player foge da view e você terá que ficar esperando a view te acompanhar a todo momento, então vá regulando a velocidade até achar alguma que fique bem.

Mas agora você me pergunta: Porque a view começa la no topo da room?

R: porque deixamos a posição dela la. Volte a parte View in room e mude as posições x e y para as posições que mais lhe agradarem. Caso não esteja vizualizando a view va ao topo da janela e clique na opção Show view, que você poderá ver sua view:

Imagem

Engine completa:

[GM:S] DOWNLOAD DA ENGINE

[GM8] DOWNLOAD DA ENGINE

Para controlar as view por códigos, use as seguintes variaveis para isso:

view_enabled  view estão habilitadas ou não.
view_visible [0 .. 7] Se a view é visível na tela.
view_xview [0 .. 7] X posição da exibição na room.
view_yview [0 .. 7] Y posição da exibição na room.
view_wview [0 .. 7] Largura da exibição na room.
view_hview [0 .. 7] Altura da exibição na room.
view_xport [0 .. 7] X-posição da janela de exibição na região de desenho.
view_yport [0 .. 7] Y-posição da janela de exibição na região de desenho.
view_wport [0 .. 7] Largura da janela de exibição na região de desenho.
view_hport [0 .. 7] Altura da janela de exibição na região de desenho.
view_angle [0 .. 7] Ângulo de rotação utilizado para a exibição na room (sentido anti-horário em graus).
view_hborder [0 .. 7] Tamanho da borda horizontal em torno do objeto visível (em pixels).
view_vborder [0 .. 7] Tamanho da borda vertical em torno de objetos visíveis (em pixels).
view_hspeed [0 .. 7] Velocidade horizontal máxima da view.
view_vspeed [0 .. 7] Velocidade vertical máxima da view.
view_object [0 .. 7]  O nome do objeto que a view vai seguir. Se houver várias instâncias deste objeto apenas o primeiro é seguido.

[0...7] é a view que esta usando, no nosso caso é a 0, então se quisessemos mudar a posição x da view 0, fariamos isso:

Código: Selecionar todos

view_xview[0]=200
Esses códigos também podem ser acessados de uma vez só com as funções:

room_set_view(ind,vind,vis,xview,yview,wview,hview,xport,yport,wport,hport,hborder,vborder,hspeed,vspeed,obj)

ind: nome da room;
vind: número da view, 0 à 7;
vis: se é visivél, true ou false;
xview: posição x da view;
yview: posição y da view;
wview: resolução horizontal da view;
hview: resolução vertical da view;
xport: posição x da janela na tela;
yport: posição y da janela na tela;
wport: tamanho horizontal da janela;
hport: tamanho vertical da janela;
hborder: tamanho da borda horizontal;
vborder: tamanho da borda vertical;
hspeed: velocidade horizontal da view;
vspeed: velocidade vertical da view;
obj: objeto a ser seguido.

room_set_view_enabled(ind,val)

ind: nome da room;
val: número da view, 0 à 7.

Enfim terminamos esta aula, até a próxima!

Próxima aula: Tiles

FLWS!
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Responder

Quem está online

Usuários navegando neste fórum: Ahrefs [Bot] e 4 visitantes