#DGM Aula 01 - Views

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

#DGM Aula 01 - Views

Mensagem por Alex FC em Dom 24 Jan 2010, 19:05

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ó.


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:





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:



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:



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:



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:



Por ultimo, temos Object following, é o objeto que a view vai seguir. Selecione o objeto player, como na 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:



Engine completa:





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:
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!


Última edição por Alex FC em Seg 09 Fev 2015, 19:58, editado 18 vez(es) (Razão : Atualização)

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por CPinheiro em Dom 24 Jan 2010, 19:13

Bom tutorial!
Quando sugiro pros iniciantes usarem views pra fazer algo, eles costumam me perguntar o que é e eu não encontro uma maneira boa de explicar.

Só uma dica: pra evitar bugs comuns, como a tela travando enquanto o personagem anda, recomendo colocar, em Hbor e Vbor, os seguintes valores:

Hbor: view_wview / 2 -10
Vbor: view_hview /2 -10

No caso, ficaria assim:

Hbor: 150
Vbor: 110

Falows! \o

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por Alex FC em Dom 24 Jan 2010, 19:19

Cara vlw! Nem tinha percebido, só faltou o -10 XD. Obrigado por avisar Very Happy!

Boa aula para todos!

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por tata139 em Dom 24 Jan 2010, 20:21

Tutorial Muito Bom! Ah, e no draw do controle, tem um codigo, eu modifiquei

draw_set_font(font_ponto)//escolhendo fonte do próximo texto

//Texto

//Scores
draw_text_color(view_xview+10,view_yview+10,"Pontos: "+string(score),c_red,c_red,c_red,c_red,0.7)

//Dots
draw_text_color(view_xview+190,view_yview+1,"Dots: "+string(global.dotss),c_red,c_red,c_red,c_red,0.7)

/*Legenda:

10: poisição x do texto

10: posição y do texto

"Pontos: ": é uma palavra, e quando desenhamos uma palavra, frase ou texto devem vir sempre entre apóstrofos.

+: este sinal indica que adicionaremos mais um texto ao texto anterior.

string(score): este é o texto que juntamos com "pontos: ", mas como score só guarda números, convertemos ele para
texto usando string().

c_red: cor vermelha

0.7: opacidade do texto
Editado para o "[/quote]"

tata139

Número de Mensagens : 1121
Data de inscrição : 11/08/2008
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por Alex FC em Dom 24 Jan 2010, 20:27

Aff esqueci de tirar o link da aula passada, essa engine, não é a certa. Sorry, ja esta concertado! Apesar de dar para usar esta também XD.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por Henrique_GJ em Sex 05 Fev 2010, 21:37

olha:

eu acho que isso num é errado, pelo contrário, acho que é bom...

eu fui no meu site e coloquei esse tuto aqui lá porém eu deixei seu nome lá e tudo, até pq todos lá conhecem vc!

olha:

o link tá aí:

meu site, não quero fazer spaw, só mostrar o tópico, pois o tuto é do Alex e se ele achar abusivo eu tiro com toda certeza

VLW por dar uma olhada... se vc acha que isso foi "plagio" fala aê que eu peço 1000000 perdões a intenção não foi essa foi ajudar, eu deixei seu nome e tudo lá

---EDIT---

se quizer pode falar que eu tiro

---EDIT2---

pra que serve mais de um view???

um só não basta???

tipo, tem view de 0 a 7.. pra que???

back ground eu ei, mas view alguém pode esplicar?

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por Alex FC em Sex 05 Fev 2010, 23:10

Só para você não ter que ficar mudando as configurações da view a toda hora em que ela mudar de objeto. Se existisse apenas 1 view e tu quisesse que ela mudasse para outro objeto, mas nesse objeto o tamanho da view é diferente, ae tu ja ia que ter que mudar por código o tamanho da view. Pra isso que existem as outras, ae tu ja deixa tudo pronto antes, sem precisar usar códigos. É mais ou menos isso, não é muito util, mas também não é inutil. Vlw?

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por Mystery_boy_maker em Sex 05 Fev 2010, 23:15

CARA eu sempre tinha duvida com as viwns isso me ajudou
muito por exemplo eu não fazia ideia do que era Hbor e Vbor eu sempre coloco
500 e 500 porque eu vi em um tuto no youtube em ingles e nao deu pra saber
do que se tratava agora ta tudo claro !!! Very Happy

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por Alex FC em Dom 21 Out 2012, 16:11

Aula atualizada - 20/10/12:

- Melhora na grafia e explicação;
- Atualização das engines;
- Atualização das imagens.

Ps: As próximas aulas serão atualizadas em breve.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

esse eu quiser mais de uma view como faço

Mensagem por victor13. em Seg 17 Ago 2015, 00:16

como faço pra usar mais de uma view
eu já fiz um projeto com isso mais quando troca de sprite  a view  não segue ajuda --\'
como faço em.

já tentei tudo que me passou pela cabeça o meu game maker e o 8 lite

victor13.

Ranking : Sem avaliações
Número de Mensagens : 1
Data de inscrição : 03/08/2015
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: #DGM Aula 01 - Views

Mensagem por Conteúdo patrocinado Hoje à(s) 09:57


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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