Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
#IEM Aula 03 - Operações matemáticas
2 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
#IEM Aula 03 - Operações matemáticas
INTRODUÇÃO EM GML
Aula 03 - Operações Matemáticas
(Atualizado 08/02/2015)
Aqui vou ensinar a usar as quatro operações matemáticas (adição, subtração, divisão e multiplicação).
A estrutura funciona da seguinte forma:
- Código:
[variável][sinal] =[variável, expressão ou numero]
Adição:
Como vimos na aula passada uma variável pode guardar números então vamos fazer o seguinte:
-Crie um objeto e em seu evento Create coloque:
- Código:
//pontuação igual a 0
pontos = 0
-Agora no step coloque:
- Código:
//somando 1 ponto
pontos += 1
Como o Step é um evento constante, ele sempre vai ocorrer enquanto este objeto existir. "+" é o sinal de adição, então o número aumentará.
-Mas para poder ver o que esta ocorrendo, vamos usar um código no evento de desenhos, o Draw:
- Código:
draw_text(10, 10, pontos)
Isso desenha um texto na tela informando o valor da variável na posição x 10 e y 10 na room.
Não procure entender esse código agora. Faça o seguinte, coloque esse objeto na room e vamos ver o que acontece. Execute.
Depois de executar você deve ter visto um número aumentando sem parar no canto esquerdo superior de sua tela. Essa é a adição em ação. Lembrando que você pode usar números menores que 1, como 0.25 e número menores que 0, como -1, -7 e etc (Fazendo o jogo se sinal). Não apague nada, usaremos esse mesmo objeto na próxima operação.
Subtração:
Substitua o código do step por esse:
- Código:
//subtraindo -1 ponto
pontos -= 1
Agora execute ele novamente. Dessa vez você verá o número diminuindo e ficando negativo. É a Subtração em ação seu sinal é "-".
Multiplicação:
Ainda no mesmo objeto substitua o código do Create por:
- Código:
pontos = 2
Fazemos isso pois se multiplicarmos 0 por outro número ele continuará 0 (0*5=0).
No mesmo objeto delete o evento step, e adicione o evento Key press-> Space e coloque o seguinte código:
- Código:
//multiplicando pontos por 2
pontos *= 2
Execute o jogo e não aperte espaço muitas vezes, pois o número chegará ao seu limite e o jogo travará. Nessa operação os números aumentam rapidamente, é a multiplicação em ação e seu sinal é "*".
Divisão:
Continuando no mesmo objeto, substitua o código do create por este:
- Código:
//pontos iniciais igual a 10000
pontos = 10000
Substitua o que esta no Key press-> Space por:
- Código:
//dividindo pontos por 2
pontos /= 2
Depois de ter executado, você deve ter percebido a divisão do número até chegar em 0, essa é a divisão em ação e seu sinal é "/". E como 0 dividido por 0 é igual a 0, ele para por ai (Acontece um erro, pois nada pode ser dividido por 0).
Considerações:
Veja que usamos as operações diretamente nas variáveis, modificando-as. Mas e se quisermos que o resultado da divisão de 5 por 2 vá para nossa variável?
- Simples, fazemos isso:
- Código:
//Pontos terá o valor de 5 dividido por 2, que é 2.5
pontos = 5/2
- Código:
//Pontos terá o valor da divisão do valor da variável score em 2
pontos = score/2
- Código:
A = 5
B = 4
C = A + B
Note que não usamos o operador "=" junto com o operador matemático. Caso usássemos aconteceria um erro.
Você pode usar parenteses para definir a ordem das operações:
- Código:
A = 5
B = 3
C = (A+B) / 2
Ou seja, primeiramente soma A + B e depois divide seu resultado por 2. Caso estivesse sem parenteses a divisão iria ser executada primeiro, ou seja B divido por 2 somado a A.
Operadores div e mod:
São operadores de divisão, mas são diferentes de "/".
- div: retorna um valor inteiro da divisão:
- Código:
valor=5 div 2
O resultado seria 2,5 em uma divisão normal com "/". Mas como só retorna um número inteiro o resultado é 2.
- mod: retorna o restante de uma divisão:
- Código:
valor= 5 mod 2
Ele retorna o que o div ignora, ou seja o RESTO da divisão que é 1. E quando a divisão é exata 0 é retornado, pois não há sobra.
É como entregar 50 balas para 20 crianças, você dá 2 para cada uma e fica com 10.
Comentários:
Como deve ter percebido nos códigos, sempre coloco "//" e uma frase explicando o código, esses são os comentários e não influenciam nada no jogo, depois de por "//" o resto da linha a ser digitado será um comentário. Há também como comentar em blocos definindo o incio com "/*" e o fim com "*/".
Exemplo:
- Código:
//Está linha não serve pra nada
minha_var = 50
/*Aqui eu posso pular uma linha
E continuar a comentar, isso estando dentro do bloco de comentários.
*/
Próxima aula: if
FLWS!
Última edição por Alex FC em Qua 11 Fev 2015, 10:06, editado 16 vez(es) (Motivo da edição : Atualização)
Re: #IEM Aula 03 - Operações matemáticas
muito boa essa aula!
não sabia como era a multiplicação e nem a divisão no gm!
além disso, como é q vc faz esses banners q agente clica e vai pra uma determinada pagina?
Vlw!!!
não sabia como era a multiplicação e nem a divisão no gm!
além disso, como é q vc faz esses banners q agente clica e vai pra uma determinada pagina?
Vlw!!!
lucas mendes- Data de inscrição : 04/05/2009
Reputação : 0
Número de Mensagens : 416
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: #IEM Aula 03 - Operações matemáticas
Muito obrigado. O link embutidos nas imagens são feitos com o seguinte código:
Espero ter esclarecido sua dúvida.
FLWS!
- Código:
[url=www.enreço.com][img]link da imgem[/img][/url]
Espero ter esclarecido sua dúvida.
FLWS!
Re: #IEM Aula 03 - Operações matemáticas
esclareceu sim!
vlw.
vlw.
lucas mendes- Data de inscrição : 04/05/2009
Reputação : 0
Número de Mensagens : 416
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: #IEM Aula 03 - Operações matemáticas
Aula atualizada - 21/10/12:
- Melhora na grafia e explicação;
- Adição de exemplos;
- Atualização das imagens.
Ps: As próximas aulas serão atualizadas em breve.
FLWS!
- Melhora na grafia e explicação;
- Adição de exemplos;
- Atualização das imagens.
Ps: As próximas aulas serão atualizadas em breve.
FLWS!
Tópicos semelhantes
» Game Maker - Aula 5 - Operações Matemáticas
» Operações matemáticas
» [Vídeo-Aula] Aula 4 - Variáveis
» [Vídeo-Aula]Aula 4.1 - Usando funções básicas do draw
» Expressões matemáticas, funções e operadores
» Operações matemáticas
» [Vídeo-Aula] Aula 4 - Variáveis
» [Vídeo-Aula]Aula 4.1 - Usando funções básicas do draw
» Expressões matemáticas, funções e operadores
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos