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

Esqueci-me da senha

Últimos assuntos
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39


[INICIANTES] 1ª Aula - Variáveis

3 participantes

Ir para baixo

[INICIANTES] 1ª Aula - Variáveis Empty [INICIANTES] 1ª Aula - Variáveis

Mensagem por guiagge Ter 27 Jul 2010, 14:31

Depois de anos acessando o fórum e criando jogos, criei coragem de fazer meu primeiro tutorial.

1ª Aula - Variáveis

Nesta aula vamos aprender sobre variáveis (o que são, como as usar, para que servem, ect). Rolling Eyes
(Se você ainda não tem certeza de como usar a GML, acesse minha 0ª aula...)

QuestionAntes de mais nada, o que são variáveis?

Aqui, temos que lembrar um pouco do que aprendemos na escola: quanto vale o x? Razz
Variáveis são termos (coisas?) que substituem, representam outros valores (um número).

Não entendeu? Sem problemas. Vamos a um exemplo:

Você tem 10 moedas.
Mas não tem nenhuma laranja.
Você encontra um vendedor vendendo laranjas a 2 moedas cada.
Você dá o dinheiro, e recebe 3 laranjas.
Mas como tudo deu apenas 6 moedas, recebe 4 de troco.

No Game Maker, poderiamos dizer isso assim:
Código:
moedas=10
laranjas=0
//Você tem 10 moedas, mas não tem nenhuma laranja.
Código:
//Você encontra um vendedor vendendo laranjas a 2 moedas cada.
laranjas+=3
//Recebe 3 laranjas
//Mas tem que pagar por elas, então:
moedas-=3*2
//Assim você comprou 3 laranjas por 2 moedas cada.

No exemplo acima, "moedas" e "laranjas" são variáveis.
Você pode estar se perguntando: mas e o troco?
No começo, colocamos as moedas iguais a 10 (moedas=10).
Depois, o que fizemos foi tirar 2 moedas para cada laranja que "ganhamos" (moedas-=3*2 , afinal, são 3 laranjas).
Assim, não é preciso troco, pois ele já foi "dado" nessa linha do código, e assim já estamos com as 4 moedas finais (10-3*2...).

Agora que você já sabe o que são as variáveis, vamos aprender como usa-las! cheers

QuestionComo usar variáveis?

Para que possamos usar uma variável, antes é necessário inicia-la.
Mas como fazemos isso?

Simples. Para iniciar uma variável num objeto, colocamos o valor inicial dela no evento "CREATE"
Código:
moedas=0

Exclamation Podemos colocar qualquer nome para uma variável, seguindo as seguintes regras:
  1. O nome deve começar com uma letra (uma variável "9enta", por exemplo não é válida);
  2. O nome só deve conter letras, números e underlines (_);
  3. O nome só pode ter até 64 caracteres.


Dito isso, é importante também explicar que uma variável "pertence" ao objeto em que foi criada.
Por exemplo, se você criar uma variável "morto" no objeto "goomba" e colocar no objeto "mario" o código
Código:
morto=1
a variável do objeto "goomba" não vai mudar em nada, já que você está dizendo na verdade que a variável morto do objeto "mario" é que é igual a 1.

QuestionMas e se eu quizer colocar a variável do "goomba" igual a 1?
Se você quizer fazer isso, você antes vai ter que antes da variável dizer quem é o "dono" dela.
Isso pode ser feito assim:
Código:
goomba.morto=1

Assim, o formato é: objeto.variável (nome do objeto e depois o nome da variável, separados por um ponto.)

Agora vem uma parte importante:
QuestionMas e se eu quizer destruir o "goomba" quando a variável "morto" for igual a 1?
Para fazer isso, usamos o código a seguir no evento "STEP" do objeto "goomba":
Código:
if(morto=true){instance_destroy();}
O código acima checa sempre (por isso foi colocado no STEP) se a variável "morto" é verdadeira(igual a 1).
Se for, destoe o objeto "goomba".

Exclamation Podemos utilizar os seguintes operadores quando checamos expressões:
= igual
< menor
> maior
<= menor ou igual
>= maior ou igual
! não(usado junto com outros)
!= diferente (não igual)
and e
or ou

Existem também 2 constantes ("variáveis que não variam", tem sempre um mesmo valor) que podemos usar em comparações:
true = verdadeiro = 1
false = false = 0

Assim, podemos colocar os seguinte códigos:
Create:
Código:
moedas=10
laranjas=0
texto=''
//inicia as variáveis
Step:
Código:
if(moedas>=3 and laranjas=0){texto='Aperte Espaço para comprar uma laranja.'}
//se as moedas são maiores que 3 e não tem laranjas, a var. texto é igual a frase acima
if(moedas>=3 and laranjas!=0){texto='Compre mais laranjas!'}
//se as moedas são maiores que 3 e tem laranjas, a var. texto é igual a frase acima
if(moedas<3){texto='Você precisa de mais dinheiro!'}
//se tem menos de 3 moedas, dizer que tem pouco dinheiro
if(keyboard_check_released(vk_space) and moedas>=3){laranjas+=1; moedas-=3}
//se a barra de espaço foi solta e tem moedas suficientes, ganhar uma laranja e perder 3 moedas.
Draw:
Código:
draw_text(x,y,'Moedas = '+string(moedas));
draw_text(x,y+32,'Laranjas = '+string(laranjas));
draw_text(x,y+64,texto);
//escreve a quantidade de moedas e de laranjas, e escreve o texto.

Observe o que foi feito na criação e nas ações involvendo a variável "texto".
Ela é o que se pode chamar de uma string. Strings são variáveis que armazenam textos ao invés de nºs.
Quando atribuimos valores a strings, temos que colocar esses valores entre aspas ou apóstrofos(" ou ') para que o Game Maker saiba que são pedaços de texto e não variáveis.
Usamos também a função string(variável); que dá o valor em texto de uma variável numérica.

Se você seguir os passos do exemplo acima, colocar o objeto numa room e compilar, provavelmente terá uma tela como essa:
[INICIANTES] 1ª Aula - Variáveis Ss0

Não é exatamente um jogo, mas funciona.
Se você apertar espaço e tiver dinheiro, será comprada uma laranja.

Acho que por essa aula é só. Mas vou deixar para vocês uma
Exclamation LIÇÃO DE CASA:
  • Fazer um objeto que desenhe a quantidade de steps desde o início do jogo.

Para aqueles que querem testar seus conhecimentos.

Por enquanto é só. Nesta aula aprendemos o básico sobre variáveis, o suficiente para se criar quase tudo que se queira.
Bom, o assunto da próxima aula eu ainda não sei, mas assim que estiver pronta dou um EDIT aqui e posto o link.
Espero que tenham gostado. Postem suas dúvidas e opiniões.
Até a próxima! rendeer


Última edição por guiagge em Qua 28 Jul 2010, 10:42, editado 1 vez(es)
guiagge
guiagge

Data de inscrição : 24/09/2008
Reputação : 0
Número de Mensagens : 90
Prêmios : [INICIANTES] 1ª Aula - Variáveis 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

Ir para o topo Ir para baixo

[INICIANTES] 1ª Aula - Variáveis Empty Re: [INICIANTES] 1ª Aula - Variáveis

Mensagem por Suadao Ter 27 Jul 2010, 14:41

Muito bom! Você conseguiu explicar de uma forma explícita e bem formatada, fácil de ser compreendida. Ótima iniciativa, espero ver mais aulas suas.

Valew! flw
Suadao
Suadao

Data de inscrição : 22/11/2009
Reputação : 4
Número de Mensagens : 1035
Prêmios : [INICIANTES] 1ª Aula - Variáveis 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

http://www.recursos-mania.forumeiros.com

Ir para o topo Ir para baixo

[INICIANTES] 1ª Aula - Variáveis Empty Re: [INICIANTES] 1ª Aula - Variáveis

Mensagem por Super Games Ter 27 Jul 2010, 15:38

Otimo Guiagge!
Vai ajudar bastante os iniciantes no GameMaker.


PELA 1º VEZ....
Valew!
Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios : [INICIANTES] 1ª Aula - Variáveis Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 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
  • C ou C++


Ir para o topo Ir para baixo

[INICIANTES] 1ª Aula - Variáveis Empty Re: [INICIANTES] 1ª Aula - Variáveis

Mensagem por guiagge Qua 28 Jul 2010, 11:11

Muito obrigado, é bom receber comentários construtivos como esses (eu já estava esperando que algum espírito de porco "ser" ia vir e chigar meu trebalho ao último, mas ainda bem que ainda não aconteceu!)
Espero continuar recebendo opiniões, e qualquer dúvida, estamos aí!
guiagge
guiagge

Data de inscrição : 24/09/2008
Reputação : 0
Número de Mensagens : 90
Prêmios : [INICIANTES] 1ª Aula - Variáveis 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

Ir para o topo Ir para baixo

[INICIANTES] 1ª Aula - Variáveis Empty Re: [INICIANTES] 1ª Aula - Variáveis

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos