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
[Tutorial] Introdução a GML - Parte 1
+6
jpaulo
mayck
Super Games
Hatzo enkiri
Kyuubi
itarodrigo
10 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[Tutorial] Introdução a GML - Parte 1
oi pessoal,
estou cooperando com o forum traduzindo algumas partes do arquivo de ajuda que vem no proprio GM8, nao sou muito bom em ingles, mas espero que possa ajudar.
nao vou prometer traduzir mais, devido ao tempo, porem, assim que estiver livre, posto mais um.
abraços.
O PROGRAMA
Um programa consiste em um conjunto de instruções. Um programa deve começar com o símbolo '{' e termina com o símbolo '}'. Entre esses símbolos ficam as instruções. As instruções devem ser separados por um símbolo ';'. Assim, a estrutura global de cada programa é:
{
declaração;
declaração;
...
}
Há um número de diferentes tipos de declarações, que serão discutidos abaixo.
VARIÁVEIS
Como qualquer linguagem de programação, o GML contém variáveis. Variáveis são posições de memória que armazenam informações. Eles têm um nome para que você possa consultá-las. A variável em GML pode armazenar um número real ou uma string(texto). As variáveis não precisam ser declaradas como em muitas outras línguas. Há um grande número de variáveis embutidas. Algumas são gerais, como mouse_x e mouse_y que indicam a posição atual do mouse. Uma variável tem um nome que deve começar com uma letra e podem conter apenas letras, números, símbolos e sublinhado '_'. (O comprimento máximo é de 64 símbolos.) Quando você usa uma nova variável ela é local para a instância atual e não é conhecida nos programas de outras instâncias (inclusive do mesmo objeto). Você pode ainda fazer referência a variáveis em outros casos, ver abaixo.
ATRIBUIÇÕES
Uma atribuição pode ser um valor simples, mas também pode ser mais complicado. Ao invés de atribuir um valor a uma variável, pode-se acrescentar também o valor para o valor atual da variável usando +=. Semelhantemente, você pode subtraí-lo usando -=, multiplicá-lo utilizando *=, dividí-lo usando / =, ou usar os operadores bit a bit usando |=, &\ ou ^=.
EXPRESSÕES
As expressões podem ser números reais (por exemplo, 3.4), os números hexadecimais, começando com um sinal $ (eg $ 00FFAA), strings entre aspas simples ou duplas (por exemplo, "Olá" ou 'Olá') ou expressões mais complicadas. (Note que uma string pode ser executada em várias linhas!) Para as expressões, existem os seguintes operadores binários existentes (em ordem de prioridade):
&& || ^ ^: Combinar valores booleanos (&& = e, || = ou, ^= xor)
<<= ==! =>> =: Comparações, resultar em verdadeiro (1) ou falso (0)
| & ^: Operadores bitwise (| = bitwise ou, bit a bit e & =, ^ = xor bit a bit)
<< >> Os operadores bitwise (<= desvio à esquerda,>> = right shift)
+ -: Adição, subtração
* Mod / div: multiplicação, divisão, divisão de inteiros, e modulo
Note que o valor de x y div é o valor de x / y arredondado na direção de zero para o número inteiro mais próximo. O operador mod retorna o resto obtido dividindo seus operandos. Em outras palavras, y mod x = x - (x y div) * y. Além disso, os seguintes operadores unários existem:
!: Não, transforma falso em verdadeiro e verdadeiro em falso
-: Nega o valor próximo
~: Nega o valor do próximo bit a bit
Como valores, você pode usar números, variáveis ou funções que retornam um valor. Sub-expressões podem ser colocados entre parênteses. Todos os operadores trabalham para valores reais. Comparações também trabalhar com strings e concatena strings usando '+'.
Aqui está um exemplo com alguns trabalhos.
{
x = 23;
color = $FFAA00;
str = 'Olá Mundo';
y += 5;
x *= y;
y = x << 2;
x = 23 * ((2 +4) / sin (y));
str = "Olá" + "mundo";
b = (x < 5) && !(x == 2 || x == 4);
}
MAIS SOBRE VARIÁVEIS
Você pode criar novas variáveis, atribuindo um valor para eles (sem necessidade de declará-los primeiro). Se você simplesmente usar um nome de variável, a variável será armazenado com a instância do objeto atual. Então, não espere encontrá-lo quando se trata de outro objeto (ou outra instância do mesmo objeto) mais tarde. Você também pode configurar e ler as variáveis em outros objetos, colocando o nome do objeto com um ponto antes do nome da variável.
Para criar variáveis globais, que são visíveis a todas as instâncias de objeto, precedê-los com a palavra 'global' e um ponto. Assim, por exemplo, você pode escrever:
{
se global.doit ()
{
/ / Fazer algo
global.doit = false;
}
}
Alternativamente, você pode declarar as variáveis como sendo global. Esta declaração tem o seguinte aspecto.
globalvar varname1, varname2, varname3 ... ;
Uma vez que essa declaração tenha sido executada, a variável é sempre tratada como global sem a necessidade de colocar a palavra global e um ponto na frente dele. Ele só precisa ser declarada uma vez em um pedaço de código que é executado. Depois disso, em todos os outros lugares a variável é considerada como sendo global.
Às vezes você quer apenas as variáveis dentro da peça atual do código ou script. Desta forma, você evita o desperdício de memória e tem a certeza que não há conflito de nomes. É também mais rápido que usar variáveis globais. Para conseguir isso, você deve declarar as variáveis no início do trecho de código usando a palavra-chave var. Esta declaração tem o seguinte aspecto.
var varname1, varname2, varname3 ... ;
Por exemplo, você pode escrever:
{
var xx, yy;
xx x = 10;
yy y = 10;
instance_create (xx, yy, bola);
}
DECLARAÇÃO IF
A declaração tem a seguinte forma
if (expressão) código
ou
if (expressão) código else código
A declaração também pode ser um bloco. A expressão será avaliada.
Se o valor(arredondado) é <= 0 (false) a declaração é executada após outra, de outra forma (true) a outra declaração é executado. É um bom hábito de sempre colocar colchetes em torno das declarações na declaração.
if (expressão)
{
código se verdadeiro
}
else
{
código se falso
}
exemplo:
if (dinheiro > 1000)
{
show_message('posso comprar muitas coisas');
}
else
{
show_message('tenho que juntar mais');
}
REPEAT
Uma declaração repeat tem a forma
repeat (expressão) statement
A afirmação é repetida o número de vezes indicado pelo valor em parenteses da expressão.
Exemplo
O programa a seguir cria cinco bolas em posições aleatórias.
{
repeat(5) instance_create (random (400), random (400), bola);
}
estou cooperando com o forum traduzindo algumas partes do arquivo de ajuda que vem no proprio GM8, nao sou muito bom em ingles, mas espero que possa ajudar.
nao vou prometer traduzir mais, devido ao tempo, porem, assim que estiver livre, posto mais um.
abraços.
O PROGRAMA
Um programa consiste em um conjunto de instruções. Um programa deve começar com o símbolo '{' e termina com o símbolo '}'. Entre esses símbolos ficam as instruções. As instruções devem ser separados por um símbolo ';'. Assim, a estrutura global de cada programa é:
{
declaração;
declaração;
...
}
Há um número de diferentes tipos de declarações, que serão discutidos abaixo.
VARIÁVEIS
Como qualquer linguagem de programação, o GML contém variáveis. Variáveis são posições de memória que armazenam informações. Eles têm um nome para que você possa consultá-las. A variável em GML pode armazenar um número real ou uma string(texto). As variáveis não precisam ser declaradas como em muitas outras línguas. Há um grande número de variáveis embutidas. Algumas são gerais, como mouse_x e mouse_y que indicam a posição atual do mouse. Uma variável tem um nome que deve começar com uma letra e podem conter apenas letras, números, símbolos e sublinhado '_'. (O comprimento máximo é de 64 símbolos.) Quando você usa uma nova variável ela é local para a instância atual e não é conhecida nos programas de outras instâncias (inclusive do mesmo objeto). Você pode ainda fazer referência a variáveis em outros casos, ver abaixo.
ATRIBUIÇÕES
Uma atribuição pode ser um valor simples, mas também pode ser mais complicado. Ao invés de atribuir um valor a uma variável, pode-se acrescentar também o valor para o valor atual da variável usando +=. Semelhantemente, você pode subtraí-lo usando -=, multiplicá-lo utilizando *=, dividí-lo usando / =, ou usar os operadores bit a bit usando |=, &\ ou ^=.
EXPRESSÕES
As expressões podem ser números reais (por exemplo, 3.4), os números hexadecimais, começando com um sinal $ (eg $ 00FFAA), strings entre aspas simples ou duplas (por exemplo, "Olá" ou 'Olá') ou expressões mais complicadas. (Note que uma string pode ser executada em várias linhas!) Para as expressões, existem os seguintes operadores binários existentes (em ordem de prioridade):
&& || ^ ^: Combinar valores booleanos (&& = e, || = ou, ^= xor)
<<= ==! =>> =: Comparações, resultar em verdadeiro (1) ou falso (0)
| & ^: Operadores bitwise (| = bitwise ou, bit a bit e & =, ^ = xor bit a bit)
<< >> Os operadores bitwise (<= desvio à esquerda,>> = right shift)
+ -: Adição, subtração
* Mod / div: multiplicação, divisão, divisão de inteiros, e modulo
Note que o valor de x y div é o valor de x / y arredondado na direção de zero para o número inteiro mais próximo. O operador mod retorna o resto obtido dividindo seus operandos. Em outras palavras, y mod x = x - (x y div) * y. Além disso, os seguintes operadores unários existem:
!: Não, transforma falso em verdadeiro e verdadeiro em falso
-: Nega o valor próximo
~: Nega o valor do próximo bit a bit
Como valores, você pode usar números, variáveis ou funções que retornam um valor. Sub-expressões podem ser colocados entre parênteses. Todos os operadores trabalham para valores reais. Comparações também trabalhar com strings e concatena strings usando '+'.
Aqui está um exemplo com alguns trabalhos.
{
x = 23;
color = $FFAA00;
str = 'Olá Mundo';
y += 5;
x *= y;
y = x << 2;
x = 23 * ((2 +4) / sin (y));
str = "Olá" + "mundo";
b = (x < 5) && !(x == 2 || x == 4);
}
MAIS SOBRE VARIÁVEIS
Você pode criar novas variáveis, atribuindo um valor para eles (sem necessidade de declará-los primeiro). Se você simplesmente usar um nome de variável, a variável será armazenado com a instância do objeto atual. Então, não espere encontrá-lo quando se trata de outro objeto (ou outra instância do mesmo objeto) mais tarde. Você também pode configurar e ler as variáveis em outros objetos, colocando o nome do objeto com um ponto antes do nome da variável.
Para criar variáveis globais, que são visíveis a todas as instâncias de objeto, precedê-los com a palavra 'global' e um ponto. Assim, por exemplo, você pode escrever:
{
se global.doit ()
{
/ / Fazer algo
global.doit = false;
}
}
Alternativamente, você pode declarar as variáveis como sendo global. Esta declaração tem o seguinte aspecto.
globalvar varname1, varname2, varname3 ... ;
Uma vez que essa declaração tenha sido executada, a variável é sempre tratada como global sem a necessidade de colocar a palavra global e um ponto na frente dele. Ele só precisa ser declarada uma vez em um pedaço de código que é executado. Depois disso, em todos os outros lugares a variável é considerada como sendo global.
Às vezes você quer apenas as variáveis dentro da peça atual do código ou script. Desta forma, você evita o desperdício de memória e tem a certeza que não há conflito de nomes. É também mais rápido que usar variáveis globais. Para conseguir isso, você deve declarar as variáveis no início do trecho de código usando a palavra-chave var. Esta declaração tem o seguinte aspecto.
var varname1, varname2, varname3 ... ;
Por exemplo, você pode escrever:
{
var xx, yy;
xx x = 10;
yy y = 10;
instance_create (xx, yy, bola);
}
DECLARAÇÃO IF
A declaração tem a seguinte forma
if (expressão) código
ou
if (expressão) código else código
A declaração também pode ser um bloco. A expressão será avaliada.
Se o valor(arredondado) é <= 0 (false) a declaração é executada após outra, de outra forma (true) a outra declaração é executado. É um bom hábito de sempre colocar colchetes em torno das declarações na declaração.
if (expressão)
{
código se verdadeiro
}
else
{
código se falso
}
exemplo:
if (dinheiro > 1000)
{
show_message('posso comprar muitas coisas');
}
else
{
show_message('tenho que juntar mais');
}
REPEAT
Uma declaração repeat tem a forma
repeat (expressão) statement
A afirmação é repetida o número de vezes indicado pelo valor em parenteses da expressão.
Exemplo
O programa a seguir cria cinco bolas em posições aleatórias.
{
repeat(5) instance_create (random (400), random (400), bola);
}
itarodrigo- Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Tutorial] Introdução a GML - Parte 1
nossa cara vc chama isso de tutorial?Eu chamo me mega-tutorial nota10000!!!!muito bom msm!!!
flws!!!
flws!!!
Re: [Tutorial] Introdução a GML - Parte 1
Bom tutorial com alguns laços de repetição e de condição
Infelizmente eu vou te dar uma nota que não é condizente com a realidade:
..............10000000000.(Se bem que merecia mais)
Tá otimo hein cara.Bom trabalho!
E continue ajudando os novatos
Boa!
Infelizmente eu vou te dar uma nota que não é condizente com a realidade:
..............10000000000.(Se bem que merecia mais)
Tá otimo hein cara.Bom trabalho!
E continue ajudando os novatos
Boa!
Hatzo enkiri- Games Ranking :
Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Tutorial] Introdução a GML - Parte 1
Cara, seu tutorial ta otimo!
Vai ajudar bastante os novatos, espero outros tutoriais de você.
Aqui vai minha nota que é 10.
Vai ajudar bastante os novatos, espero outros tutoriais de você.
Aqui vai minha nota que é 10.
Super Games- Games Ranking :
Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2800
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Java
- Godot
- Javascript
- C ou C++
Re: [Tutorial] Introdução a GML - Parte 1
Tutu Ta Muito BOoooom Manow Voce Chego no Forum Chegando xD Muito Bom Meus parabens Vai Ajudar muitas Pessoas
mayck- Data de inscrição : 11/01/2010
Reputação : 0
Número de Mensagens : 370
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Tutorial] Introdução a GML - Parte 1
É novato mas ja chegou arrasando,hein?muito boa a tutorial.gostei mesmo.
jpaulo- Data de inscrição : 21/03/2010
Reputação : 0
Número de Mensagens : 345
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Tutorial] Introdução a GML - Parte 1
O tutorial está excelente. Nota 9.5.
Mas você poderia dar mas formatação. Por exemplo, colocando os códigos dentro de caixa de códigos, e, na parte das Expressões, você poderia colocar as expressões em ordem, dentro de uma lista, mais ou menos assim:
Tirando isso, o tutorial está muito bom, explicando várias funções do GM. Continue criando bons tutoriais.
Mas você poderia dar mas formatação. Por exemplo, colocando os códigos dentro de caixa de códigos, e, na parte das Expressões, você poderia colocar as expressões em ordem, dentro de uma lista, mais ou menos assim:
- Expressão 1
- Expressão 2
- Etc...
Tirando isso, o tutorial está muito bom, explicando várias funções do GM. Continue criando bons tutoriais.
Re: [Tutorial] Introdução a GML - Parte 1
Nuss cara arrazou mto bommm msm, me ajudou bastanteee e eu tenho certeza q vai ajudar aos outros nota 1000000.
Jonhy8000- Data de inscrição : 13/10/2010
Reputação : 0
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Tutorial] Introdução a GML - Parte 1
Gostei muito. Enfim, só acho que tem coisa que não precisa ser traduzida como o tradicional Hello World(o primeiro programa que todos fazem em C++) ~ Olá Mundo.
Mas tá muito bom mesmo.Mas como eu disse, tem coisa que não precisa traduzir D:
Mas tá muito bom mesmo.Mas como eu disse, tem coisa que não precisa traduzir D:
Alexandre Dias- Data de inscrição : 13/10/2010
Reputação : 8
Número de Mensagens : 397
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Tutorial] Introdução a GML - Parte 1
Show!
Estou vendo que se vc continuar assim eu vou aprender muito mais
Estou vendo que se vc continuar assim eu vou aprender muito mais
douglaslds- Data de inscrição : 29/12/2009
Reputação : 0
Número de Mensagens : 172
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos