Últimos assuntos
» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

» Ajuda para mecanismo do jogo
por Willy Dom 16 Jul 2017, 15:54

Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220918 mensagens em 30411 assuntos

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

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

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

Mensagem por itarodrigo em 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);
}

avatar
itarodrigo

Data de inscrição : 28/08/2010
Número de Mensagens : 599
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Kyuubi em Dom 29 Ago 2010, 22:20

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

Data de inscrição : 28/11/2009
Número de Mensagens : 443
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://animeworldmugen.forumeiros.com/forum

Voltar ao Topo Ir em baixo

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

Mensagem por Hatzo enkiri em 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!

Hatzo enkiri

Ranking : Nota B
Notas recebidas : B
Data de inscrição : 19/02/2009
Número de Mensagens : 226
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Super Games em 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.
avatar
Super Games

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 10/06/2010
Número de Mensagens : 2704
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por mayck em 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
avatar
mayck

Data de inscrição : 11/01/2010
Número de Mensagens : 370
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por jpaulo em Sex 24 Set 2010, 11:14

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

Data de inscrição : 21/03/2010
Número de Mensagens : 345
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por jogos_jv em 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

jogos_jv

Data de inscrição : 10/02/2010
Número de Mensagens : 92
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://jogosjosevitoria.blogspot.com/

Voltar ao Topo Ir em baixo

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

Mensagem por Jonhy8000 em 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.
avatar
Jonhy8000

Data de inscrição : 13/10/2010
Número de Mensagens : 3
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por Alexandre Dias em Sab 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:
avatar
Alexandre Dias

Data de inscrição : 13/10/2010
Número de Mensagens : 397
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

Mensagem por douglaslds em Sab 16 Out 2010, 10:45

Show!

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

Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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