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



 
InícioPortalGML - 2ª Lição BlogRegistarÚltimas imagensGML - 2ª Lição Orkut10RegrasEntrar

 

 GML - 2ª Lição

Ir para baixo 
AutorMensagem
Legolas
Moderador-Global
Moderador-Global
Legolas


Masculino Número de Mensagens : 119
Warning : 0%
Premios : GML - 2ª Lição Trophy10: 0
GML - 2ª Lição Trophy11: 0
GML - 2ª Lição Trophy12: 0
Habilidade 1 : GML - 2ª Lição Rpgm10
Habilidade 2 : GML - 2ª Lição Webm10

GML - 2ª Lição Empty
MensagemAssunto: GML - 2ª Lição   GML - 2ª Lição Icon_minitimeTer Ago 11, 2009 1:57 pm

Autor:João Neto

A partir desta segunda aula até a quinta vamos ver como o GML pode mover objetos, validar seu posicionamento e validar a colisão do mesmo com outros objetos.
Qualquer desenvolvedor de jogos sabe que a colisão é a verificação mais importante de um jogo. Com ela, podemos saber quais são os limites de uma casa (em jogos de RPG), se o tiro do inimigo nos atingiu (validação de dano) ou ainda se não estamos “flutuando” no ar (uso da colisão para validar gravidade).
Esses são alguns exemplos, mas a colisão é algo extremamente importante e está em quase tudo em um jogo.
Para aprendermos sobre movimentação, primeiro um pouco de quadrantes. No GML( como na maioria das aplicações de desenvolvimento) temos que o tipo de medida da tela se dá atravéz do lado esquerdo(Left) e o lado de cima(Top). Tendo estes lados como referencia, e usando a forma como a matemática trata os gráficos, temos que todo e qualquer movimento para cima ou para baixo desloca-se no Eixo Y, e todo e qualquer movimento que se desloca para a esquerda ou para a direita desloca-se no Eixo X.
O canto superior esquerdo da tela é nosso ponto de partida. Nesse lugar, X = Y = 0, ou seja, o ponto inicial do quadrante da tela é onde X e Y são iguais a 0 (zero).

GML - 2ª Lição B1rs2

Então, pra quem sabe matemática está fácil, se eu quiser deslocar um objeto da da esquerda para a direita, eu tenho que incrementar X, se for o contrário eu tenho que Decrementar. A mesma coisa acontece com o Y, se eu quiser deslocar o objeto para baixo eu incremento, se quiser delocar para cima eu decremento. No Game Maker, todo e qualquer objeto já possui por padrão as propriedades X e Y. O que faremos para movê-lo será incrementar ou decrementar seus valores atuais de X e Y, usando as setas do teclado. Lembra-se do Script de Setas da 1º lição? Podemos usá-lo para mover um objeto, bastando apenas alguns pequenos ajustes. Vamos lá.

STEP 1 – CRIANDO O SPRITE
Você pode aproveitar o mesmo objeto usado na 1º lição, a diferença será que ele precisará de um sprite para que possa ser visto. Você com certeza já deve saber como fazer um sprite, então eu vou apenas mostrar rapidamente como criar um “cubo” para ser usado no nosso experimento.

• Clique na pasta Sprites com o botão direito -> Add Sprite
• Nomeie-o para Box
• Clique no botão Center -> ele ficará com os valores 16 x 16
• Desmarque a opção Transparent
• Clique no botão Edit Sprite
• No menu Images, Clique em Colorize...
• Coloque um valor maior que 100 e clique em OK
• Clique no fechar da janela
• Clique em OK

Nosso Sprite de teste está pronto. Agora, lembra-se do objeto que criamos para testar o script na 1º lição? Vamos usá-lo aqui.

STEP2 – CONFIGURANDO O OBJETO

• Acesse o objeto
• Mude seu nome para Caixa
• No botão Sprite selecione o Sprite Box
• Marque a opção Solid
• Na opção Mask, selecione novamente o Sprite Box
• Clique em OK.

GML - 2ª Lição B2vp4
Agora, vem a modificação do script. Acesse o Script Setas.

STEP 3 – CONFIGURANDO O SCRIPT

Modifique-o para que fique assim:



if(keyboard_check(vk_left))
{Caixa.x -= 5;}
if(keyboard_check(vk_right))
{Caixa.x += 5;}
if(keyboard_check(vk_up))
{Caixa.y -= 5;}
if(keyboard_check(vk_down))
{Caixa.y += 5;}


O que fizemos aqui??
Obserque que estamos acessando o Objeto Caixa através do seu nome, e modificando as propriedades X e Y de acordo com o tipo de tecla pressionada. Vale ressaltar que o GML é Case Sensitive, ou seja, caixa é diferente de Caixa que é diferente de CAIXA, então, cuidado ao digitar.
Para finalizar, se ainda não houver uma instancia do objeto Caixa na room criada de teste, adicione a instancia e rode o jogo.
Ao rodar, experimente apertar e segurar as teclas direcionais, em uma direção, em outra, ou duas ao mesmo tempo (para cima e para esquerda, por exemplo).
Ir para o topo Ir para baixo
 
GML - 2ª Lição
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» GML - 1ª Lição
» GML - 3ª Lição
» GML - Lição Extra

Permissões neste sub-fórumNão podes responder a tópicos
 :: Makers :: GameMaker :: Tutoriais -
Ir para: