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
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07

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

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Game Maker - Aula 9 - Instrução While

4 participantes

Ir para baixo

Game Maker - Aula 9 - Instrução While Empty Game Maker - Aula 9 - Instrução While

Mensagem por .:Allison:. Sex 01 Jul 2011, 19:03

Instrução While

Nome: Instrução While
Nível: Iniciante
Descrição: Aprenda o que é, para que serve e como usar o loop while
Créditos: .:Allison:.

Se você viu a aula passada, provavelmente aprendeu as instruções IF e ELSE, você sabe que eles só operam uma vez quando a expressão é verdadeira ou no caso do ELSE, falsa. O while traduzindo do inglês significa “enquanto”, ele é um loop que pode ser finito ou infinito, sua estrutura é:
Código:
while (condição) {
expressão;
}
Enquanto a condição for verdadeira, vai ficar executando a expressão, quando for falsa, não executa mais. É bom tomar muito cuidado com os loops while, pois se ele resultar em um estado infinito vai travar seu jogo. Como basicamente o While é isso, vamos fazer muitos exemplos para praticar.
while (! place_free (x, y))//enquanto não estiver livre de colisões entre x e y, ou seja, colidindo.
{
x = random (room_width);//escolhe uma posição aleatória na room horizontalmente, e chama ela como x
y = random (room_height);//a mesma coisa, só que ao invés de chamar de x, escolhe verticalmente e chama de y
}

Nesse nosso exemplo, se colocarmos uma instancia que contém esse código em cima de um objeto sólido, ela vai procurar uma posição aleatória na room que não contenha objetos sólidos para se posicionar. O place_free checa se está livre de colisão, ou seja, não está colidindo, como temos o símbolo (! = not) ele nega, ou seja, se não estiver colidindo, a função random(x), escolhe aleatoriamente um número inteiro entre 0 e x, que no nosso caso é room_width e room_height, que são as extremidades horizontal e vertical na room, random trabalha apenas com números.
Vamos fazer um teste, crie dois objetos, um sólido e um não sólido, que será chamado de obj_solido e obj_naosolido, defina qualquer sprite para ambos, no obj_naosolido, coloque o código dado acima e na room, coloque vários sólidos e apenas um não sólido em cima de um sólido. Siga a imagem abaixo.
Game Maker - Aula 9 - Instrução While T6X58
Perceba que nunca vai se encontrar por cima de um objeto sólido. Outro exemplo é:
while (instance_number(object0)<5) { // enquanto o número de instancias do objeto0 for menor que 5
instance_create(random(room_width), random(room_height), object0)// criar uma instância, em uma posição aleatória da room
}

Isso vai fazer criar 5 instancias em posições aleatórias na room instance_number(object) retorna o número de instancias que o objeto tem, no nosso caso não é de retorno, e sim de comparação. Se você colocar esse código junto com a engine que fizemos agora pouco, no mesmo evento, vai criar normalmente, porém não vai colidir com nenhum objeto sólido.

O while pode ser colocado em qualquer objeto, desde que não gere um estado infinito, por exemplo, se trocássemos o sinal de (<) que contém código que fizemos logo acima, por (>), vai resultar em um estado infinito, outro exemplo é:
while (2 = 2) {//enquanto 2 é igual a 2
var = 1+1;//a variável é igual a 1 + 1, ou seja, 2
}

Isso é uma instrução de estado infinito, pois 2 sempre será igual a 2, e sempre vai executar a expressão, assim fazendo travar seu jogo.

Essa aula não foi muito extensa até porque o while é bem fácil, acho que deu para compreender essa instrução. Fiz um exemplar da nossa aula, bem básico, sugestões, críticas e perguntas, estão aceitas.
Download do Exemplar da Aula 9 - Instrução While Happy
.:Allison:.
.:Allison:.

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 25/07/2010
Reputação : 4
Número de Mensagens : 630
Prêmios : Game Maker - Aula 9 - Instrução While Empty

Medalhas x 0 Tutoriais x 14 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://clubmaker.forumeiros.com

Ir para o topo Ir para baixo

Game Maker - Aula 9 - Instrução While Empty Re: Game Maker - Aula 9 - Instrução While

Mensagem por Klior Sex 01 Jul 2011, 19:25

Apesar de while ser bem simples, você soube explicar muito bem.
Ótimo tutorial
Klior
Klior

Data de inscrição : 07/03/2010
Reputação : 13
Número de Mensagens : 426
Prêmios : Game Maker - Aula 9 - Instrução While Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • C#
  • Javascript


Ir para o topo Ir para baixo

Game Maker - Aula 9 - Instrução While Empty Re: Game Maker - Aula 9 - Instrução While

Mensagem por Biemorth Sex 01 Jul 2011, 19:34

até hoje o melhor tutorial sobre while (acho que o único) que li vc sabe explicar bem apesar de ser um tema bem restrito parabéns, eu não faria melhor
Biemorth
Biemorth

Games Ranking : Sem avaliações

Data de inscrição : 23/09/2010
Reputação : 4
Número de Mensagens : 283
Prêmios : Game Maker - Aula 9 - Instrução While 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

https://facebook.com/playtimers

Ir para o topo Ir para baixo

Game Maker - Aula 9 - Instrução While Empty Re: Game Maker - Aula 9 - Instrução While

Mensagem por .:Allison:. Sáb 02 Jul 2011, 20:27

É, eu percebi que não existe nenhum tutorial sobre a instrução while no fórum. Muito obrigado !!
.:Allison:.
.:Allison:.

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 25/07/2010
Reputação : 4
Número de Mensagens : 630
Prêmios : Game Maker - Aula 9 - Instrução While Empty

Medalhas x 0 Tutoriais x 14 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://clubmaker.forumeiros.com

Ir para o topo Ir para baixo

Game Maker - Aula 9 - Instrução While Empty Re: Game Maker - Aula 9 - Instrução While

Mensagem por Isaque Onix Qua 27 Ago 2014, 11:50

nao sei se voce e um usuario ainda ativo no forum, mais eu acho melhor perguntar aqui para outro membro responder do que criar um novo topico (acredito eu).

no while, pode-se usar 'or' ou '&&'?
eu testei, mais da erro e o jogo simplesmente para...
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Game Maker - Aula 9 - Instrução While 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Game Maker - Aula 9 - Instrução While Empty Re: Game Maker - Aula 9 - Instrução While

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