Manual de GML para Iniciantes

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

Manual de GML para Iniciantes

Mensagem por PedroX em Seg 31 Out 2011, 20:02



Esse guia serve para os que estão começando saberem por onde começar, pois há tantos tutoriais que os iniciantes ficam confusos. Abaixo há uma relação dos assuntos abordados.

Comentários
Instruções
Operadores
Variáveis
Funções
Scripts
Arrays

Comentários

São usados para comentar o seu código, facilitando a organização dele.
São ignorados pelo compilador.

Exemplo:
Código:
/*
Aqui tenho um
comentário de várias linhas.
*/
if (dinheiro>0) //se eu tenho dinheiro (comentário de uma linha)
{compro balas} //eu compro balas (note a diferença entre os tipos de comentário)
Ir para o topo

Instruções de controle

As instruções são muito importantes para o jogo.
Por meio delas são definidas as condições para que algo aconteça.
Vamos ver cada uma delas.

Ir para o topo

Condicionais

Padrão:
Código:
if (expressão) {
instrução
}
Definição:
Essa instrução checa se uma expressão é verdadeira. Se for, executa uma instrução.

Exemplo:
Código:
if (moedas==10){
compra refrigerante
}
Padrão:
Código:
if (expressão){
instrução A
}else{
instrução B
}
Definição: Se a expressão for verdadeira, executa a instrução A, mas se não for, executa a instrução B.

Aprenda mais:
http://gmbr.forumeiros.com/t16893-game-maker-aula-8-as-declaracoes-if-e-else
http://gmbr.forumeiros.com/t5118-aula-4-introducao-em-gml-if

Padrão:
Código:
switch (valor)
{
 case 1: instrução; break;
 case 2: instrução; break;
 case 3: instrução; break;
 default: instrução;
}
Definição:
Essa instrução compara o valor com cada case, executando a instrução respectiva.
Se nenhuma comparação for correta, então a default é executada.
Ela é mais útil quando temos várias comparações a fazer.

Exemplo:
Código:
switch(moedas)
{
case 10: compra 1 bala; break;
case 20: compra 2 balas; break;
case 30: compra 3 balas; break;
default: vai embora;
}
Aprenda mais: http://gmbr.forumeiros.com/t12322-curso-de-gml-aula-3-as-declaracoes-if-if-else-e-switch

Ir para o topo

Laços

Padrão:
Código:
repeat(numero)
{instrução}
Definição:
Repete numero vezes aquela instrução.

Exemplo:
Código:
repeat(10)
{compra 1 bala}
Padrão:
Código:
while(expressão)
{instrução}
Definição:
Enquanto a expressão for verdadeira, ele executa aquela instrução.

Exemplo:
Código:
while(dinheiro>0)
{compra balas}
Padrão:
Código:
do
{
instrução
}
until (expressão)
Definição:
Faz aquela instrução enquanto a expressão for verdadeira.

Exemplo:
Código:
do {compra balas} until (dinheiro>0)
Padrão:
Código:
for (a; b; c)
{instrução}
Definição:
A instrução a é executada.Então a expressão b é testada.
Se for verdadeira, a instrução é executada. Depois c é executada.
Depois b é testada novamente. Esse laço continua até b ser falsa.

Exemplo:
Código:
for(contando=1;contando<10;contando =1){
mostra a contagem de 1 a 10;
}
Ir para o topo

Padrão:
Código:
with(objeto)
{instrução}
Definição:
Manipula outras instâncias.
Quando você colocar other dentro da instrução, você irá se referir a instância atual (que tem o código).

Exemplo:
Código:
with(inimigo)
{x=other.x}
Ir para o topo

Jumps

Padrão:
Código:
break;
Definição: Interrompe o laço atual, passando a executar os códigos seguintes (que estão fora da instrução).
Pode ser usada em: for, while, repeat e switch.

Exemplo: Já mostrado.

Padrão:
Código:
continue;
Definição: Passa para o próximo passa, interrompendo o atual.

Padrão:
Código:
exit;
Definição: para de executar os códigos abaixo desse.

Exemplo:
Código:
if sem_dinheiro {exit}
Balas =1
Ir para o topo

Operadores

Não vamos focar muito nessa parte. Existem vários tutoriais sobre isso no fórum e na internet.
Os principais são:

Código:
<, >, <=, >=, ==, !=, <>
que significam: menor, maior, menor ou igual, maior ou igual, igual, diferente, diferente.  
Código:
and ( pode usar && ), or ( pode usar || )
que significam: e, ou.

Exemplo:
Código:
if (dinheiro >= 1){
tenho dinheiro
}
Ir para o topo

Variáveis

São 'células' guardadas na memória RAM.
Guardam valores de coisas que não seriam possiveis de serem usadas sem serem salvas.
Não podem ter caracteres como acentos, vírgulas, pontos, espaços etc.

Existem algumas variáveis já prontas, que logicamente podem ser alteradas, como:
x, y, room, speed, image_angle, direction, entre outras.

Você também pode criar suas variáveis, então não estranhe quando ver algo em português no código de alguém.

Locais: São variáveis que só podem ser manipuladas pelo objeto que a criou.
Globais: São variáveis que podem ser usadas por qualquer objeto no jogo.
Temporárias: São usadas somente no trecho de código que foram criadas.


Criando as variáveis:


Ir para o topo

Locais:
variavel = valor;
Globais:
Código:
globalvar variavel;
variavel = valor;
Temporárias:
Código:
var variavel;
variavel = valor;
Aprenda mais sobre variáveis aqui:
http://gmbr.forumeiros.com/t15113-tutorial-variaveis

Ir para o topo

Funções

São usadas para diminuir o volume de código.
Do contrário, você teria que digitar o código dela (esses códigos não são mostrados) toda vez que precisasse.

Padrão:
Código:
nome_da_funcao(arg1, arg2, arg3, ...);
Exemplo:
Código:
if (room=fase_fogo)
move_snap(32, 32);
Ir para o topo

Scripts

São funções criadas por você.
Você deve criar um, digitar o código e depois chamá-lo em algum evento.
Aqui só mostrarei como chamar.

Exemplo:
Código:
inimigo_ataque(player, fogo);
Ir para o topo

Arrays

São uma forma de usar poucas variáveis.

Padrão:
Código:
nome[indice]=valor; //uma dimensão (como uma lista)
Código:
nome[indice,indice]=valor;//duas dimensões (como uma tabela)
Nome: segue o padrão das variáveis.
Indice: não pode ser negativo e deve ser inteiro.

Você pode aprender mais sobre arrays aqui:
http://gmbr.forumeiros.com/t14235-tutorial-arrays

Ir para o topo

Agradecimentos:
saim (variáveis e arrays)

Até mais!


Última edição por fredcobain em Sex 30 Ago 2013, 23:31, editado 13 vez(es) (Razão : Colocando âncoras)

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por Carlos Mahnke em Seg 31 Out 2011, 21:44

Legal o manual. Uma sugestão seria usar aquelas âncoras HTML (não sei se está ativo no sistema) pra rolar a página pro tópico que poderia ser clicado num tipo de índice.

Carlos Mahnke

Ranking : Sem avaliações
Número de Mensagens : 202
Data de inscrição : 27/07/2011
Notas recebidas : A+B (não colocar conceito)
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por PedroX em Seg 31 Out 2011, 21:50

Isso só seria possivel se cada tópico estivesse em um post diferente.
Valeu. Gastei algumas horinhas, mas acho que vale a pena.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por Carlos Mahnke em Seg 31 Out 2011, 21:58

Acho que vc não compreendeu. Eu me refiro a uma "âncora" em HTML que é uma tag que possui uma contraparte que se comporta como um link mas ao ser clicada move a página (ou desce, mas sem sair da mesma) pro ponto em que está o marcador.

Veja no exemplo abaixo como ao clicar no falso link a página desce até onde eu defini:

Tópico tal
























Texto do tópico selecionado

Carlos Mahnke

Ranking : Sem avaliações
Número de Mensagens : 202
Data de inscrição : 27/07/2011
Notas recebidas : A+B (não colocar conceito)
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por Livsk em Seg 31 Out 2011, 22:10

É, ficaria legal essas "âncoras" mesmo.

Outra sugestão seria fixar o tópico para não morrer tão facilmente, assim os iniciantes achariam mais fácil, que nem o índice de tutoriais, pois o conteúdo está muito bom.

Flws!

Livsk

Ranking : Nota C
Número de Mensagens : 364
Idade : 19
Data de inscrição : 02/06/2011
Notas recebidas : C + C + D + D + D + D + B + B + A + C + B
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por Dancity em Seg 31 Out 2011, 22:18

Muito bom Pedro, gostei muito, explica muitas funções direitinho e com uma ótima organização! Parabéns, acho um tópico de grande ajuda.

Muito legal essas âncoras, eu já sabia pra que serviam, mas não sabia como utilizá-las, enfim, com essas Âncoras vai ficar mais organizado ainda.

Dancity

Ranking : Nota A
Número de Mensagens : 1339
Data de inscrição : 11/01/2009
Notas recebidas : A
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por Carlos Mahnke em Seg 31 Out 2011, 22:27

Dancity escreveu:Muito legal essas âncoras, eu já sabia pra que serviam, mas não sabia como utilizá-las, enfim, com essas Âncoras vai ficar mais organizado ainda.
Melhor que a organização (que já era ótima) é a tamanha comodidade de ter todos os assuntos a um clique do mouse!

Uma última sugestão, adicionar uma âncora levando novamente ao topo após cada assunto =]


Edit
Opa, parece que já tinham feito e eu não notei.


Última edição por Carlos Mahnke em Seg 31 Out 2011, 22:28, editado 1 vez(es)

Carlos Mahnke

Ranking : Sem avaliações
Número de Mensagens : 202
Data de inscrição : 27/07/2011
Notas recebidas : A+B (não colocar conceito)
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por PedroX em Ter 01 Nov 2011, 10:22

Sugestão aceita. Agora o artigo tem âncoras.

Se alguém quiser complementar alguma parte do tópico, me enviem uma mp com o conteúdo que eu analiso e coloco. Nem precisa ser formatado. Coloco os créditos.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por Joton em Ter 01 Nov 2011, 19:39

Nosssa é disso que os novatos precisam, muito bem explicado e direto, quero também sugerir:

Você poderia colocar um "link de aprenda mais" na Funções, por ser mais complexo, acho que precisa de um link para o cara aprender mais sobre funções o/

Valewww

Joton

Ranking : Nota B
Número de Mensagens : 836
Idade : 28
Data de inscrição : 25/07/2010
Notas recebidas : A+B+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

http://jotonsn.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por PedroX em Dom 06 Nov 2011, 11:04

Quem desejar que o seu tutorial seja adicionado ao Aprenda Mais de cada parte do tutorial, manda o link para mim.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Manual do iniciante

Mensagem por BrunoGomesDias14 em Sab 07 Abr 2012, 17:33

Bom Tutorial, vc só precisa ser mais específico as vezes rabbit

BrunoGomesDias14

Número de Mensagens : 1
Idade : 17
Data de inscrição : 06/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por yiahooo em Sex 24 Ago 2012, 11:21

não entendi nada eu não entendo codgos ahhhhhh..

yiahooo

Ranking : Nota E
Número de Mensagens : 155
Idade : 16
Data de inscrição : 06/04/2012
Notas recebidas : E
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.yiahooo.no.comunidades.net

Voltar ao Topo Ir em baixo

Re: Manual de GML para Iniciantes

Mensagem por Conteúdo patrocinado Hoje à(s) 06:12


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