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
» player não consegue andar
por 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

Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty [Tutorial] Introdução a GML - Parte 1

Mensagem por itarodrigo Dom 29 Ago 2010, 21:45

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);
}

itarodrigo
itarodrigo

Data de inscrição : 28/08/2010
Reputação : 52
Número de Mensagens : 599
Prêmios : [Tutorial] Introdução a GML - Parte 1 Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por Kyuubi Dom 29 Ago 2010, 22:20

nossa cara vc chama isso de tutorial?Eu chamo me mega-tutorial nota10000!!!!muito bom msm!!!
flws!!!
Kyuubi
Kyuubi

Data de inscrição : 28/11/2009
Reputação : 0
Número de Mensagens : 443
Prêmios : [Tutorial] Introdução a GML - Parte 1 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

http://animeworldmugen.forumeiros.com/forum

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por Hatzo enkiri Seg 30 Ago 2010, 09:04

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 Smile
Boa!
avatar
Hatzo enkiri

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 19/02/2009
Reputação : 7
Número de Mensagens : 226
Prêmios : [Tutorial] Introdução a GML - Parte 1 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

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por Super Games Seg 30 Ago 2010, 09:42

Cara, seu tutorial ta otimo!
Vai ajudar bastante os novatos, espero outros tutoriais de você.
Aqui vai minha nota que é 10.
Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2800
Prêmios : [Tutorial] Introdução a GML - Parte 1 Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 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
  • Java
  • Godot
  • Javascript
  • C ou C++


Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por mayck Qui 23 Set 2010, 16:53

Tutu Ta Muito BOoooom Manow Voce Chego no Forum Chegando xD Muito Bom Meus parabens Vai Ajudar muitas Pessoas
mayck
mayck

Data de inscrição : 11/01/2010
Reputação : 0
Número de Mensagens : 370
Prêmios : [Tutorial] Introdução a GML - Parte 1 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

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por jpaulo Sex 24 Set 2010, 11:14

É novato mas ja chegou arrasando,hein?muito boa a tutorial.gostei mesmo.
jpaulo
jpaulo

Data de inscrição : 21/03/2010
Reputação : 0
Número de Mensagens : 345
Prêmios : [Tutorial] Introdução a GML - Parte 1 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

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por jogos_jv Sex 24 Set 2010, 11:25

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:
  • 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. Smile
avatar
jogos_jv

Data de inscrição : 10/02/2010
Reputação : 0
Número de Mensagens : 92
Prêmios : [Tutorial] Introdução a GML - Parte 1 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

http://jogosjosevitoria.blogspot.com/

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por Jonhy8000 Qui 14 Out 2010, 13:45

Nuss cara arrazou mto bommm msm, me ajudou bastanteee e eu tenho certeza q vai ajudar aos outros Happy nota 1000000.
Jonhy8000
Jonhy8000

Data de inscrição : 13/10/2010
Reputação : 0
Número de Mensagens : 3
Prêmios : [Tutorial] Introdução a GML - Parte 1 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

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por Alexandre Dias Sáb 16 Out 2010, 01:45

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:
Alexandre Dias
Alexandre Dias

Data de inscrição : 13/10/2010
Reputação : 8
Número de Mensagens : 397
Prêmios : [Tutorial] Introdução a GML - Parte 1 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

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por douglaslds Sáb 16 Out 2010, 10:45

Show!

Estou vendo que se vc continuar assim eu vou aprender muito mais Very Happy
douglaslds
douglaslds

Data de inscrição : 29/12/2009
Reputação : 0
Número de Mensagens : 172
Prêmios : [Tutorial] Introdução a GML - Parte 1 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

Ir para o topo Ir para baixo

[Tutorial] Introdução a GML - Parte 1 Empty Re: [Tutorial] Introdução a GML - Parte 1

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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