Sonic Game Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar
Últimos assuntos
SONIC ADVENTURE 3Sáb 13 Jan - 13:50:03KellyaneFELIZ NATAL 2023Seg 25 Dez - 12:48:36Divin Sphere HiroshaiErro ao Abrir ProjetoTer 25 Jul - 8:44:49Ian LagesJá fazem 10 anos...Qua 3 maio - 12:21:59Divin Sphere HiroshaiFeliz Natal 2022Qua 11 Jan - 21:41:47Ian LagesTOUCH - AndroidSex 21 Out - 21:40:23Divin Sphere HiroshaiA volta de nat-frutoSex 12 Ago - 11:24:58Divin Sphere HiroshaiDiscord Game MakerDom 9 Jan - 23:16:01Nest_DJ.EXtremeHAPPY NEW YEAR 2022Sáb 1 Jan - 20:27:23Divin Sphere HiroshaiDoIt - Jogo AndroidSáb 1 Jan - 20:22:31Divin Sphere HiroshaiFELIZ NATAL 2021Sáb 25 Dez - 23:43:15Divin Sphere Hiroshaiefraim leonardo quadrinhos do sonicSeg 22 Nov - 8:48:52FizContaSóPraIsso[11/2021] Atualizações Importantes de SegurançaDom 7 Nov - 23:41:23Lago Roxoum post interessanteTer 27 Jul - 17:10:45Divin Sphere HiroshaiBring The Block - AndroidSáb 17 Abr - 15:31:53Divin Sphere Hiroshai

Ir para baixo
Mecha Sonic LZ 3.5
Mecha Sonic LZ 3.5
Mensagens : 209
Reputação : -1
Data de inscrição : 14/07/2011
Idade : 27
Masculino
Localização : SGM Island
http://gmfuture.forumeiros.com

GMAulas - Exemplo da apostila - Code Snippets Empty GMAulas - Exemplo da apostila - Code Snippets

Ter 3 Jan - 21:08:40
Code Snippets - Fragmentos de códigos
O GM disponibiliza muitos Snippets para facilitar a nossa vida, vou explicar a função de cada um:

Block - Bloco
Simplesmente são duas chaves para separar os códigos. São elas "Start a block"={ e "End a block"=}

If,else - Se, senão
Com o if você declara uma condição, e com else você verifica se ela é falsa. A declaração no if só é executada se a condição é verdadeira, ja no else só se o contrário do if.
Código:
if (CONDIÇÃO)
{
<DECLARAÇÃO>;
}
else
{
<DECLARAÇÃO>;
};
Em jogos de plataforma podemos usá-la para definir a gravidade:
Código:
if (place_free(x,y + 1))
{
gravity=1
}
else
{
gravity=0
};

Loops
Vamos aprender a usar loops em nossos códigos, em vez de repetir um mesmo código podemos fazer em até uma linha! Usaremos os snippets for,while,do/until e repeat:

For - Para/Durante/Devido á
O for executa a declaração enquanto a condição ainda é ativa:
Código:
for (INICIALIZAÇÃO;CONDIÇÃO; INCREMENTAÇÃO)
{
    <DECLARAÇÃO>;
};
Na inicialização se define uma variável, em condição você define uma condição para a incrementação.
Você pode criar instancias usando o for:
Código:
for (objetos=0; objetos<10; objetos+=1)
{
    instance_create(x,y,objeto)
};
A lógica é que esse código será repetido enquanto a variável "objetos" não atingir seu objetivo que é chegar até 10.

While - Enquanto
Simplesmente(ou não) executa uma declaração até que a condição é verdadeira:
Código:
while (CONDIÇÃO)
{
    <DECLARAÇÃO>;
};
Podemos usar while para subir uma rampa:
Código:
while (place_meeting(x,y,rampa))
{
    y-=1;
};

Do e Until - Fazer e Até que
Explicação retirada do tutorial do Allison do fórum Game Maker Brasil:
"As instruções do e until funcionam como um while invertido, se traduzirmos do inglês, a palavra do = fazer e until = até que, sua estrutura basicamente é:"
Código:
do {
<EXPRESÃO> }
until
(CONDIÇÃO)
ou
Código:
fazer {
<EXPRESÃO> }
até que
(CONDIÇÃO)

Repeat - Repetir
É o loop mais rapido de usar, mas também o menos prático pois não usa uma condição, usa uma expresão.
Código:
repeat (EXPRESÃO)
{
    <DECLARAÃO>;
};
Na expressão se coloca o tanto de vezes que adeclaração irá se repetir, simples não é?
Agora saindo dos loops vamos ver uma snippet mais util que o if/else.

Switch - Interruptor
De certo modo esse snippet funciona como um interruptor mesmo. Ele analiza todos os casos de uma variavel e suas declarações.
Código:
switch (EXPRESÃO)
{
    case EXPRESÃO: DECLARAÇÃO; break;
    default: DECLARAÇÃO;
}
No parenteses do switch() você coloca o nome da variável.
Em case você põe o caso (ou o estado da variavel, se ela é igual a 0,1,2,3... oque quiser), e em declaração o código que será executado se sua variavel for igual ao caso definido. Você pode usar quantos casos quiser, mas evite usar iguais. E depois de todos os casos feche com o ;break; para encerrar a declaração ali, se não usar executará os outros códigos dos outros casos.
E no default se põe o que acontecerá se a variável tiver um valor que não está nos casos.

With - Com
Simplesmente aplica o código á certo objeto.
Código:
with (EXPRESÃO)
{
    <DECLARAÇÃO>;
};
Onde o Expressão é um objeto ou id, e declaração é o código que se aplicará a ele. Isso é tudo que precisa saber para usar snippets, soltando a imaginação se pode fazer inumeras coisas com os loops.
Sonic Luan
Sonic Luan
Mensagens : 2678
Reputação : 19
Data de inscrição : 06/06/2011
Idade : 24
Masculino
Localização : Casa
https://sonicmaker.forumeiros.com

GMAulas - Exemplo da apostila - Code Snippets Empty Re: GMAulas - Exemplo da apostila - Code Snippets

Ter 3 Jan - 21:34:10
otimo tutorial bom para iniciantes como o julio que não entende muito de codigos Laughing
Shocked ganha 10 rings


Última edição por Sonic Luan em Qua 4 Jan - 0:20:13, editado 1 vez(es)
Sanic The Hedgehog
Sanic The Hedgehog
Mensagens : 559
Reputação : 0
Data de inscrição : 11/06/2011
Idade : 22
Masculino

GMAulas - Exemplo da apostila - Code Snippets Empty Re: GMAulas - Exemplo da apostila - Code Snippets

Ter 3 Jan - 23:49:13
Olá Mecha Sonic LZ,
Acredito que este seu tutorial está tem alta qualidade explicativa e alta organização, com certeza mereceu os devidos Rings, apesar que o caro Administrador Luan fez um Flood, mas não levarei a briga.
Só por favor, tente colocar alguma explicação de funcionamento, tipo, dizer qual o nível de dificuldade do tutorial, em que versões do GameMaker funciona etc.
Mecha Sonic LZ 3.5
Mecha Sonic LZ 3.5
Mensagens : 209
Reputação : -1
Data de inscrição : 14/07/2011
Idade : 27
Masculino
Localização : SGM Island
http://gmfuture.forumeiros.com

GMAulas - Exemplo da apostila - Code Snippets Empty Re: GMAulas - Exemplo da apostila - Code Snippets

Qui 5 Jan - 8:45:28
O tutorial não tem dificuldade alguma, é uma coisa que todos que quiserem criar um jogo devem fazer. Quanto a explicação, só os loops mais simples não expliquei. Alias não é bem um tutorial, é uma matéria da apostila que estou fazendo.
Até+
Wonders Chaser Neo
Wonders Chaser Neo
Mensagens : 234
Reputação : 2
Data de inscrição : 04/07/2011
Idade : 28
Masculino
Localização : Em qualquer lugar que você procurar com atenção...

GMAulas - Exemplo da apostila - Code Snippets Empty Re: GMAulas - Exemplo da apostila - Code Snippets

Sex 13 Jan - 8:30:47
Eu curti muito esse tuto. Estou praticando o GML e isso me ajudou muito. Espero mais aulas.
OFF: Ele merecia mais uns 5 rings por isso, né?
Sonic Luan
Sonic Luan
Mensagens : 2678
Reputação : 19
Data de inscrição : 06/06/2011
Idade : 24
Masculino
Localização : Casa
https://sonicmaker.forumeiros.com

GMAulas - Exemplo da apostila - Code Snippets Empty Re: GMAulas - Exemplo da apostila - Code Snippets

Sex 13 Jan - 11:57:53
W.C.Neo escreveu:Eu curti muito esse tuto. Estou praticando o GML e isso me ajudou muito. Espero mais aulas.
OFF: Ele merecia mais uns 5 rings por isso, né?
não eu já dei 10 Mad
Conteúdo patrocinado

GMAulas - Exemplo da apostila - Code Snippets Empty Re: GMAulas - Exemplo da apostila - Code Snippets

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