Aprendendo a Usar Scripts

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

Aprendendo a Usar Scripts

Mensagem por CPinheiro em Sab 17 Out 2009, 18:07

Aprendendo a usar Scripts
Autor: CPinheiro / Morello
Ensina: Como usar scripts no Game Maker e criar suas própias funções.


1. O que vamos aprender
você vai descobrir que scripts são muito úteis na organização de um projeto. Você também vai aprender como criar suas própias funções no Game Maker usando scripts, facilitando fazer coisas em que seria necessário VÁRIAS linhas de código, mas que você poderá fazer com uma única linha.

2. Criando o script


(clique na imagem para ver em outra página)

Para criar um script, basta clicar naquele papelzinho, que mostrei na imagem. Uma janela (local onde editamos os scripts) irá aparecer.

(clique para ampliar)

É ali que vamos escrever os códigos dos nossos scripts. Para fazer os códigos, é necessário entender a linguagem G.M.L., uma linguagem de progração que vem imbutida dentro do Game Maker. Como não é este o assunto da matéria, não vou introduzir sobre ela aqui.

Para dar um nome ao seu script, basta você clicar naquela caixa de texto do lado direito do local onde está escrito "Name:". Sempre coloque "scr_" antes dos nomes dos seus scripts, assim, ele não vai ser confundido com variáveis/sprites/objetos/backgrounds/roms que tenham o mesmo nome.

Após terminar de escrever seu código, clique em um "V" verde que fica no canto esquerdo da janela dos scripts. A janela vai se fechar e você vai voltar para a tela inicial do Game Maker.

3. Não é melhor usa a ação "Execute a Piece Of Code"?
Não. Essa ação só é útil quando vamos executar códigos pequenos, de no máximo cinco ou seis linhas. Para mais do que isso, já é melhor criar scripts para ficar mais fácil de editar e executar o código, visto que podemos midificá-lo enquanto fazemos qualquer outra coisa no projeto. Scripts também são recomendados quando vão ser utilizados por mais de um objeto, logo você não vai ter que ficar copiando os códigos.

4. Como faço o código do meu script ser executado?
Para fazer isso, vamos precisar adicionar uma ação "Execute a Piece Of Code" (executar um trecho de código). Para executar um script, usamos o script_execute:

Código:
script_execute(scr_nome_do_script);

Esse código faz com que seja executado o script. Você também atribui argumentos com esse código, mas por enquanto, você não vai usá-los, então basta só isso mesmo para o script rodar (por enquanto).

5. Como editar scripts já criados?
Quando você cria um script, ele vai para a pasta dos scripts, que fica com as outras pastas de conteúdo do Game Maker. São aquelas pastas que ficam no lado esquerdo, que contem todo o conteúdo do seu jogo. Abra a pasta scripts, clicando no "+" do lado dela. Vai aparecer a lista de todos os scripts que você já criou. Basta dar um clique duplo no nome do script que a janela de texto que tinha aparecido antes voltará, com todo o código do script que você abriu.

6. O que são funções e como criá-las?
Funções são certos códigos de G.M.L. que fazem acontecer determinada coisa. Toda funçam trabalha com argumentos. Para entender mais, leia o código e seu comentário logo abaixo:

Código:
move_towards_point(90,50,4); //A função move_towards_point possui três argumentos: x, y e speed. Com eles, você determina para onde o objeto vai se mover horizontalmente, verticalmente e a velocidade em que ele vai se mover. O primeiro argumento é o x, o segundo é o y e o terceiro é o speed.

Entendeu? Funções são aquelas ações que agem com os argumentos, e os argumentos são os valores que determinada ação vai usar para saber exatamente o quê fazer. Você, provavelmente, já deve ter usado alguma função mesmo sem saber o que é, né? Agora, vamos criar nossa própia função!

Crie um script novo, fazendo executar as ações desejadas. Para te ajudar a entender o assunto, você pode começar tentando com este meu código:

Código:
sprite_index=argument0; //É o primeiro argumento da função que vamos criar. Ou seja, na hora de executar o script, o primeiro argumento dele seria o nome de um sprite, que usando o sprite_index, seria mudado para o sprite que você colocou no argumento.
image_index=argument1; //Mesma base do de cima, o número que você colocar no segundo argumento, seria o frame da sprite que apareceria.

Dê o nome que você quiser ao script criado. Crie um objeto novo, e, na ação que quiser, coloque o seguinte código:

Código:
nome_do_script_que_voce_criou(spr_alguma_sprite,0);

Pronto! Você criou uma nova função para o Game Maker! Essa é bem básica, serve apenas para juntar o sprite_index e o image_index em um só. Com o tempo, você irá aprender a criar funções mais avançadas, que envolvam mais linhas de código.


7. Uma pequena palavra sobre Return.
Não posso me esquecer de falar sobre isso. O Return serve para retornar um valor. Veja um exemplo de script (chame-o de scr_multiplica_por_cinco, ou qualquer outra coisa, já que é apenas um teste):

Código:

var resultado; //Declara uma variável chamada resultado que será apagada após o uso do script.
resultado = argument0 * 5; //Aqui, nós modificamos o valor da variável resultado. Setamos ela para o argumento 0 multiplicado por 5.
return resultado; //Retorna o valor.

Se colocássemos isso no evento create:
Código:

Vida = scr_multiplica_por_cinco(10);
A variável "Vida" seria setada para 50. Veja que colocamos argument0 como 10 no código acima. No script, nós criamos uma variável e setamos ela para argument0 multiplicado por 5. Depois disso, utilizamos o return para retornar o valor da variável resultado. Veja outro exemplo de script. Nesse caso, checamos se duas variáveis tem valor igual:

Código:

if ! (argument0 == argument1)
return false; else
return true;
Nesse caso, a função retorna true ou false, como a maioria das funções primárias do GM. Se esse script se chamasse ChecaValor, seria algo assim:

Código:

if ChecaValor(variavel1,variavel2) { sprite_index = qualquer_sprite; }
Vejamos. O script checa se o argument0 é igual ao argument1. Se for, retorna true e o código dentro das chaves é executado. Se NÃO for igual, retornará false, e o código não será executado.

8. Fim do tutorial
bom gente, é isso. Você aprendeu como usar scripts no Game Maker e criar suas própias funções. É possível fazer coisas bem mais avançadas com os códigos/scripts/funções, mas aí, dependerá do seu estudo. Espero que tenham gostado!

Lembrando que as funções que mostrei aqui são extremamente básicas, praticamente inuteis. Cabe ao seu conhecimento criar funções e scripts que sejam úteis pra você.


Última edição por CPinheiro em Dom 18 Out 2009, 09:38, editado 2 vez(es)

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por vinians em Sab 17 Out 2009, 18:16

Otimo, o tutorial! Vale apenas lembra que para executar um script basta colocar seu nome seguido de () e não ha necessidade de se usar script_execute()
Assim:
Código:

meu_script();
Isso executa o script diretamente sem ter que chamar uma outra função para isso o que torna o codigo mais rapido e compacto.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por CPinheiro em Sab 17 Out 2009, 18:19

vinians escreveu:Otimo, o tutorial! Vale apenas lembra que para executar um script basta colocar seu nome seguido de () e não ha necessidade de se usar script_execute()
Assim:
Código:

meu_script();
Isso executa o script diretamente sem ter que chamar uma outra função para isso o que torna o codigo mais rapido e compacto.

Exato. Eu usava o script_execute por mania mesmo, até porque realmente é desnecessário. Mas depois encontrei um motivo: ajuda a diferenciar o script de alguma outra coisa do GM (objeto, sprite, som, etc.), já que ficam da mesma cor.

Mas isso vai de cada um. O ideal é não usar, mas quem quiser usar, não tem problema.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por Denis Lemos em Sab 17 Out 2009, 18:33

Agora que eu entendi para que serve esses tal de "argument" tava a anos tentando aprender sobre isso !

Showw de bola o teu tutorial, Parabéns !!!

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por Naut2006 em Sab 17 Out 2009, 19:24

Eu estava mesmo precisando =D. Ótima explicação, formatação, tudo 10 +D

Goodbye Happy

Naut2006

Número de Mensagens : 213
Idade : 20
Data de inscrição : 11/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por SIGILOSO em Dom 18 Out 2009, 09:03

Eu tava querendo começa a usar scripts,e agora sei como começar Happy ótimo tuto CPinheiro!
afro

SIGILOSO

Ranking : Nota A
Número de Mensagens : 2264
Idade : 23
Data de inscrição : 06/06/2009
Notas recebidas : A+A+A+A+A+A+A
Reputação : 39
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 4
   : 2
   : 1

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por Adriel em Sab 01 Maio 2010, 15:51

Maus ae se estou revivendo o tópico, mas ainda acho os codes melhores... por mim, scripts não servem pra nada.

Adriel

Número de Mensagens : 922
Idade : 18
Data de inscrição : 18/07/2009
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por tedi em Sab 01 Maio 2010, 16:16

cara, legal o tuto
só que isso é + uma coisa que eu tive que aprener na prática, AFF!

tedi

Número de Mensagens : 110
Idade : 19
Data de inscrição : 24/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por Cainã em Sab 01 Maio 2010, 16:25

Muito bom o tutorial, principalmente para quem é novo no GM.

Eu tambem aprendi tudo isso sozinho. =/

Cainã

Número de Mensagens : 1335
Idade : 22
Data de inscrição : 07/03/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por F. Nizzio em Seg 24 Maio 2010, 21:31

uma duvida: pode-se usar scripts para mudar funções como por exemplo:

keyboard_check()

se tiver como, por favor me digam... realmente preciso disso!

e o que significa i nos scripts? (sem aspas)

F. Nizzio

Número de Mensagens : 758
Idade : 21
Data de inscrição : 19/07/2008
Reputação : -6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por Cainã em Seg 24 Maio 2010, 21:57

felaobr escreveu:uma duvida: pode-se usar scripts para mudar funções como por exemplo:

keyboard_check()

se tiver como, por favor me digam... realmente preciso disso!

e o que significa i nos scripts? (sem aspas)

Você diz criar uma outra função com um nome diferente e o mesmo objetivo?

O i é apenas uma varável pequena usada geralmente em for. Você pode substituir ele por qualquer outra variável.

Cainã

Número de Mensagens : 1335
Idade : 22
Data de inscrição : 07/03/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por F. Nizzio em Seg 24 Maio 2010, 22:20

Cainã escreveu:
felaobr escreveu:uma duvida: pode-se usar scripts para mudar funções como por exemplo:

keyboard_check()

se tiver como, por favor me digam... realmente preciso disso!

e o que significa i nos scripts? (sem aspas)

Você diz criar uma outra função com um nome diferente e o mesmo objetivo?

O i é apenas uma varável pequena usada geralmente em for. Você pode substituir ele por qualquer outra variável.

Saquei o "i" (:

e sim, é isso mesmo que eu quero fazer!

F. Nizzio

Número de Mensagens : 758
Idade : 21
Data de inscrição : 19/07/2008
Reputação : -6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por Cainã em Ter 25 Maio 2010, 18:42

felaobr vou te dar um exemplo de como fazer isso usando Scripts:

1 - Crie um Script chamado mostrar_mensagem .

2 - Dentro do Script digite:

Código:
{

show_message(argument0) ;

}

3 - Agora em qualquer outro código você pode usar mostrar_mensagem("texto") para exibir uma mensagem.


Se você precisa criar uma função que retorne algo é bem simples, vai mais um exemplo:

1 - Crie um Script chamado janela_pos_x .

2 - Dentro do Script digite:

Código:
{

return window_get_x() ;

}

3 - Agora em qualquer outro código você pode usar janela_pos_x() para saber a posição vertical da janela.

Note:

- Os arguments são utilizados como variáveis que atuam no Script.

- O return pode ser utilizado para retornar algo.

Cainã

Número de Mensagens : 1335
Idade : 22
Data de inscrição : 07/03/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por Dancity em Ter 25 Maio 2010, 20:22

Parabéns! Vai ajudar muito!

Formatação 100
Explicação 100

Razz

Gostei bastante

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: Aprendendo a Usar Scripts

Mensagem por F. Nizzio em Sex 28 Maio 2010, 14:38

Vlw Cainã! Isso vai me ser útil! (:

F. Nizzio

Número de Mensagens : 758
Idade : 21
Data de inscrição : 19/07/2008
Reputação : -6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por jpaulo em Sex 16 Jul 2010, 11:50

show de bola.muito legal

jpaulo

Número de Mensagens : 345
Data de inscrição : 21/03/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Aprendendo a Usar Scripts

Mensagem por Conteúdo patrocinado Hoje à(s) 16:40


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