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
[Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
+5
Janx
Markituh
DragonWarrior
Nicolas
dharrison
9 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Entendendo o Funcionamento do GML: O Básico.
Objetivo: Entender a lógica básica do Game Maker ao compilar os scrips de GML.
Dificuldade: Depende da sua leitura e atenção.
Ferramenta: Sua cabeça.
Essa aula é principalmente teórica.
Vamos usar algumas linhas de código em exemplos, mas se concentre na lógica e em entender como o GML funciona, pois estudaremos as funções, declarações e expressões mais a fundo nas próximas aulas.
Se você ainda é iniciante em GML/Game Maker, é essencial que você acompanhe esta aula ao invés de pular ela. Isso vai prevenir dores de cabeça no futuro.
Introdução: Como trabalhar em GML.
O Game Maker tem muitas peculiaridades no modo do seu funcionamento.
Portanto a Regra Principal é:
“Se o GM diz que algo está errado, está errado”.
Ás vezes o GM encana que um código que você escreveu perfeitamente, com uma lógica inegável e com a formatação impecável, está errado.
Nessas horas não adianta chorar, bater o pé, chutar o pc, porque o GM não desencana tão fácil.
Um meio de minimizar esses acontecimentos é organizar bem seus códigos, e se possível declara-los sempre entre parênteses ( ).
"Por quê?"
Em GML organização é tudo, o modo como você digita suas linhas de código devem ser bem claras para você mesmo e para os outros.
Um exemplo disso é o modo como os tutoriais aparecem aqui no fórum, observe:
Exemplo 1
O Exemplo 1 faz a mesma coisa que o Exemplo 2, mas veja como o exemplo dois está mais bem organizado, dividido varias linhas para melhor visualização e com parênteses separando a variável keyboard_check do resto do script.
Os parênteses tem outros papéis, como veremos mais tarde.
Outro recurso importante na hora que organizar seu script são os Comentários.
Comentários são frases que podem ser escritas nos códigos, com o conteúdo que você quiser. Use-as para deixar descrições do que você fez no seu script, para que futuramente você saiba no que está mexendo.
Para adicionar um Comentário no seu script, digite:
// - Esse comando de 2 Barras, faz com que o que você escrever depois das barras naquela linha (apenas aquela), seja ignorado na compilação.
/* e */ - Esse comando faz com que múltiplas linhas possam ser escritas como comentário, colocando /* no começo, e */ no final do comentário. Funciona como as Aspas (“suafrase”) na vida real.
Vejamos o Exemplo 2 com Comentários:
...
Pronto? Ok.
Se você não desabilitou o Color Coding nas opções, você notou que o código ficou com variadas cores. Isso ajuda a identificar o que é o que.
Para acessar as Opções de Color Coding (No GM8), vá em File>Preferences.
Escolha a aba Scripts and Code, e no lado direito haverá algumas opções, mas vamos falar apenas das cores.
Note que você pode escolher que cor usar para cada um dos tipos de código que forem usados num script, vamos falar mais sobre o que são cada um futuramente.
Eu uso a configuração parecida com o GM7, fica da seguinte forma:
Normal Text: Preto
Keywords: Preto
Values: Laranja (Values não é assim no GM7, é preto, mas escolhi laranja porque gostei)
Comment: Verde
Constants: Vermelho Escuro
Variables: Azul
Functions: Violeta
Script Names: Púrpura
Resource Names: Roxo
Eu uso assim, mas a configuração normal do GM8 é:
Normal Text: Preto
Keywords: Azul Escuro
Values: Azul
Comment: Verde
Constants: Vermelho Escuro
Variables: Vermelho Escuro
Functions: Vermelho Escuro
Script Names: Púrpura
Resource Names: Ocre (Cor de Pele)
Isso é útil pra você localizar o que é o que no GML.
Outra coisa importante na hora de compilar seus códigos, é que o GM executa (lê) as coisas na ordem que você coloca!
Ele também faz isso para objetos, rooms, tudo!
Se quiser fazer isso acontecer para que você veja, abra o GM e faça conforme o nosso amigo Janx exemplificou:
O que fizemos aqui foi uma verificação usando a Room.
O GM retornou a mensagem na ordem que colocamos os objetos.
Agora imagine que a "Room" é o seu script, exatamente como foi com a room, será tanbem com seus scripts: a ordem que você colocá-los e a ordem que as suas linhas de código estiverem, é a ordem que será feita.
Tenha isso em mente quando criar seus scripts, muitas vezes os erros e bugs ocorrem simplesmente porque algo está no lugar errado. (principalmente aqueles quando você sabe que o código está perfeito, mas não sabe porque está dando erro).
Agora... Você sabe porque as mensagens foram mostradas naquela ordem? Existe mais um motivo.
Além do GM ler tudo na ordem que você coloca, ele também cria as Instâncias uma de cada vez, uma a cada 0,03 segundos. Ele faz isso para tudo: valores de viariáveis, calculos de lógica interna, etc.
“Como Assim? Não entendi”
Significa exatamente isso. O GM trabalha com um o intervalo de apenas 0,03 segundos para cada nova coisa que acontece no jogo.
Isso nos leva á terceira coisa importante sobre o Game Maker: Sua unidade de contagem.
Em GML, principalmente quando se trabalha com Alarms ou Variáveis que envolvem calculos, a unidade da contagem do Game Maker confunde muito.
O GM tem uma unidade própria de medida numérica, que funciona á razão de 30 por segundo, ou seja, em 1 segundo no mundo real, o GM conta 30 Steps, mas chamemos de “UGM” para não confundir com os Eventos Step (batizemos de “Unidade do Game Maker”, “UGM”).
Se você já viu algum tutorial sobre alarms provavelmente viu a frase: “Cada segundo no GM equivale a 30” ou algo do tipo.
Isso não é válido apenas para alarms, mas para tudo que envolva um calculo de +1 ou -1 continuamente no GM.
Por exemplo:
Se você fizesse isso no GM realmente, e abrisse o Run Game in Debug Mode, veria a variável aumentando 30 unidades a cada segundo.
Para melhor visualização disso, baixe no final desta aula o arquivo Revisando a Aula 1.rar (Aplicativo de Revisão dessa aula), é uma executável que mostrará a você algumas das coisas que estudamos nessa aula, mas na prática.
O sistema de contagem do GM também influencia, e muito, nas colisões de objetos e na movimentação deles.
Por exemplo, se você quer fazer o Obj Mario colidir com o Bloco e parar, se o tamanho do Bloco for 4pxl e a Velocidade do Mario 6pxl (na realidade blocos são maiores, mas é só um exemplo). O Obj Mario algumas vezes ‘passaria reto’ pelo bloco, pois ele se move de 6 em 6 pixel, e o bloco tem apenas 4.
Na dinâmica real do jogo esse tipo de coisa só seria possível se o Mario fosse um Sprite de 1pxl. No entanto isso acontece frequentemente em jogos de tiro, quando a Mask do Obj Bala é muito pequena.
De qualquer modo, foi só um exemplo.
O Importante é saber que quando você digita, por exemplo:
No Aplicativo de Revisão você irá encontrar isso também. No exemplo do aplicativo teremos um Obj que se move de 4 em 4 pixel, usando as setas, e 64 em 64 pixels, usando as Teclas Numéricas 4 e 6.
Você será capaz de visualizar isso que estudamos agora na prática.
E por ultimo, mas não menos importante, os três passos primordiais que você deve dar para poder trabalhar com GML:
- Estudar
- Estudar
E adivinha?
- ESTUDAR
Você não vai chegar a lugar nenhum no GML se não se empenhar em aprender as coisas direito! Não vai ser na base do Copiar&Colar que você vai conseguir fazer um Mario 64 da vida.
Mesmo que as caixas de código a seguir e nas próximas aulas estejam perfeitamente prontas para ser copiadas, não o faça.
Digite você mesmo os códigos e caso tenha dúvidas, refaça a aula com mais atenção. Se continuar com dúvida, a galera do fórum ta aqui pra ajudar
Em pouco tempo você terá memorizado a maioria dos códigos básicos e será capaz de pensar nas linhas de programação mesmo estando longe do seu PC, vai conseguir montar scripts na sua cabeça e ver que quando você testá-los você realmente tinha pensado certo!
Download do Aplicativo de Revisão (Versão Aula 4)*:
*Contém as Aulas 1, 2, 3 e 4. Disponibilizei assim para maior comodidade.
Isso até agora foi apenas uma pequena introdução.
Vamos falar mais do GML no Tópico da Aula 1 - Parte 2.
Abraços
DHarrison
° - Aula 1 (Parte 1) - Entendendo o Funcionamento do GML (O Básico)
° - Aula 1 (Parte 2) - Entendendo o Funcionamento do GML (As Estruturas do GML)
° - Aula 2 - Variáveis Locais, Globais, Arrays e Built-in Variables
° - Aula 3 - As Declarações IF, IF/ELSE e SWITCH
° - Aula 4 - A Declaração WITH
° - Aula 5 - A Declaração FOR
Aulas Complementares e Extras (Descontinuadas, pois já existe a Documentação Traduzida do Game Maker no fórum):
° - Extra 1 - Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants
° - Extra 2 - Lista Detalhada e Explicada das Built-in Functions mais usadas em GML
Objetivo: Entender a lógica básica do Game Maker ao compilar os scrips de GML.
Dificuldade: Depende da sua leitura e atenção.
Ferramenta: Sua cabeça.
Essa aula é principalmente teórica.
Vamos usar algumas linhas de código em exemplos, mas se concentre na lógica e em entender como o GML funciona, pois estudaremos as funções, declarações e expressões mais a fundo nas próximas aulas.
Se você ainda é iniciante em GML/Game Maker, é essencial que você acompanhe esta aula ao invés de pular ela. Isso vai prevenir dores de cabeça no futuro.
Introdução: Como trabalhar em GML.
O Game Maker tem muitas peculiaridades no modo do seu funcionamento.
Portanto a Regra Principal é:
“Se o GM diz que algo está errado, está errado”.
Ás vezes o GM encana que um código que você escreveu perfeitamente, com uma lógica inegável e com a formatação impecável, está errado.
Nessas horas não adianta chorar, bater o pé, chutar o pc, porque o GM não desencana tão fácil.
Um meio de minimizar esses acontecimentos é organizar bem seus códigos, e se possível declara-los sempre entre parênteses ( ).
"Por quê?"
Em GML organização é tudo, o modo como você digita suas linhas de código devem ser bem claras para você mesmo e para os outros.
Um exemplo disso é o modo como os tutoriais aparecem aqui no fórum, observe:
Exemplo 1
- Código:
If keyboard_check(vk_right) {hspeed=4} if keyboard_check(vk_left) {hspeed=-4}
- Código:
If (keyboard_check(vk_right))
{
hspeed = 4
}
if (keyboard_check(vk_left))
{
hspeed = -4
}
O Exemplo 1 faz a mesma coisa que o Exemplo 2, mas veja como o exemplo dois está mais bem organizado, dividido varias linhas para melhor visualização e com parênteses separando a variável keyboard_check do resto do script.
Os parênteses tem outros papéis, como veremos mais tarde.
Outro recurso importante na hora que organizar seu script são os Comentários.
Comentários são frases que podem ser escritas nos códigos, com o conteúdo que você quiser. Use-as para deixar descrições do que você fez no seu script, para que futuramente você saiba no que está mexendo.
Para adicionar um Comentário no seu script, digite:
// - Esse comando de 2 Barras, faz com que o que você escrever depois das barras naquela linha (apenas aquela), seja ignorado na compilação.
/* e */ - Esse comando faz com que múltiplas linhas possam ser escritas como comentário, colocando /* no começo, e */ no final do comentário. Funciona como as Aspas (“suafrase”) na vida real.
Vejamos o Exemplo 2 com Comentários:
- Código:
If (keyboard_check(vk_right)) //SE a tecla Seta Direita for pressionada...
{ //Esse colchete se chama “Start of a Block”
hspeed = 4 //… a variavel hspeed sera igual a 4.
} //Esse se chama “End of a Block”
if (keyboard_check(vk_left))
{
hspeed = -4
}
/*Você deve estar pensando:
“Como isso pode ser algo organizado? É a maior bagunça!”
Mas experimente colar o conteúdo dessa caixa de código num Piece of Code ou Script do GM.
Observe o resultado*/
...
Pronto? Ok.
Se você não desabilitou o Color Coding nas opções, você notou que o código ficou com variadas cores. Isso ajuda a identificar o que é o que.
Para acessar as Opções de Color Coding (No GM8), vá em File>Preferences.
Escolha a aba Scripts and Code, e no lado direito haverá algumas opções, mas vamos falar apenas das cores.
Note que você pode escolher que cor usar para cada um dos tipos de código que forem usados num script, vamos falar mais sobre o que são cada um futuramente.
Eu uso a configuração parecida com o GM7, fica da seguinte forma:
Normal Text: Preto
Keywords: Preto
Values: Laranja (Values não é assim no GM7, é preto, mas escolhi laranja porque gostei)
Comment: Verde
Constants: Vermelho Escuro
Variables: Azul
Functions: Violeta
Script Names: Púrpura
Resource Names: Roxo
Eu uso assim, mas a configuração normal do GM8 é:
Normal Text: Preto
Keywords: Azul Escuro
Values: Azul
Comment: Verde
Constants: Vermelho Escuro
Variables: Vermelho Escuro
Functions: Vermelho Escuro
Script Names: Púrpura
Resource Names: Ocre (Cor de Pele)
Isso é útil pra você localizar o que é o que no GML.
Outra coisa importante na hora de compilar seus códigos, é que o GM executa (lê) as coisas na ordem que você coloca!
Ele também faz isso para objetos, rooms, tudo!
Se quiser fazer isso acontecer para que você veja, abra o GM e faça conforme o nosso amigo Janx exemplificou:
Janx escreveu:Crie 2 objetos, no Evento CREATE do primeiro coloque:
- Código:
show_message("Esse é o objeto 1");
no segundo:
- Código:
show_message("Esse é o objeto 2");
Coloque o Obj 1 na room e depois o Obj 2. Execute e veja qual mensagem aparece primeiro. Depois inverta: coloque primeiro o 2 e depois o 1, teste novamente para ver qual aparece primeiro.
O que fizemos aqui foi uma verificação usando a Room.
O GM retornou a mensagem na ordem que colocamos os objetos.
Agora imagine que a "Room" é o seu script, exatamente como foi com a room, será tanbem com seus scripts: a ordem que você colocá-los e a ordem que as suas linhas de código estiverem, é a ordem que será feita.
Tenha isso em mente quando criar seus scripts, muitas vezes os erros e bugs ocorrem simplesmente porque algo está no lugar errado. (principalmente aqueles quando você sabe que o código está perfeito, mas não sabe porque está dando erro).
Agora... Você sabe porque as mensagens foram mostradas naquela ordem? Existe mais um motivo.
Além do GM ler tudo na ordem que você coloca, ele também cria as Instâncias uma de cada vez, uma a cada 0,03 segundos. Ele faz isso para tudo: valores de viariáveis, calculos de lógica interna, etc.
“Como Assim? Não entendi”
Significa exatamente isso. O GM trabalha com um o intervalo de apenas 0,03 segundos para cada nova coisa que acontece no jogo.
Isso nos leva á terceira coisa importante sobre o Game Maker: Sua unidade de contagem.
Em GML, principalmente quando se trabalha com Alarms ou Variáveis que envolvem calculos, a unidade da contagem do Game Maker confunde muito.
O GM tem uma unidade própria de medida numérica, que funciona á razão de 30 por segundo, ou seja, em 1 segundo no mundo real, o GM conta 30 Steps, mas chamemos de “UGM” para não confundir com os Eventos Step (batizemos de “Unidade do Game Maker”, “UGM”).
Se você já viu algum tutorial sobre alarms provavelmente viu a frase: “Cada segundo no GM equivale a 30” ou algo do tipo.
Isso não é válido apenas para alarms, mas para tudo que envolva um calculo de +1 ou -1 continuamente no GM.
Por exemplo:
- Código:
if varcontando=true
{
varnumero += 1
}
Se você fizesse isso no GM realmente, e abrisse o Run Game in Debug Mode, veria a variável aumentando 30 unidades a cada segundo.
Para melhor visualização disso, baixe no final desta aula o arquivo Revisando a Aula 1.rar (Aplicativo de Revisão dessa aula), é uma executável que mostrará a você algumas das coisas que estudamos nessa aula, mas na prática.
O sistema de contagem do GM também influencia, e muito, nas colisões de objetos e na movimentação deles.
Por exemplo, se você quer fazer o Obj Mario colidir com o Bloco e parar, se o tamanho do Bloco for 4pxl e a Velocidade do Mario 6pxl (na realidade blocos são maiores, mas é só um exemplo). O Obj Mario algumas vezes ‘passaria reto’ pelo bloco, pois ele se move de 6 em 6 pixel, e o bloco tem apenas 4.
Na dinâmica real do jogo esse tipo de coisa só seria possível se o Mario fosse um Sprite de 1pxl. No entanto isso acontece frequentemente em jogos de tiro, quando a Mask do Obj Bala é muito pequena.
De qualquer modo, foi só um exemplo.
O Importante é saber que quando você digita, por exemplo:
- Código:
If (keyboard_check(vk_right));
{
x += 4;
}
No Aplicativo de Revisão você irá encontrar isso também. No exemplo do aplicativo teremos um Obj que se move de 4 em 4 pixel, usando as setas, e 64 em 64 pixels, usando as Teclas Numéricas 4 e 6.
Você será capaz de visualizar isso que estudamos agora na prática.
E por ultimo, mas não menos importante, os três passos primordiais que você deve dar para poder trabalhar com GML:
- Estudar
- Estudar
E adivinha?
- ESTUDAR
Você não vai chegar a lugar nenhum no GML se não se empenhar em aprender as coisas direito! Não vai ser na base do Copiar&Colar que você vai conseguir fazer um Mario 64 da vida.
Mesmo que as caixas de código a seguir e nas próximas aulas estejam perfeitamente prontas para ser copiadas, não o faça.
Digite você mesmo os códigos e caso tenha dúvidas, refaça a aula com mais atenção. Se continuar com dúvida, a galera do fórum ta aqui pra ajudar
Em pouco tempo você terá memorizado a maioria dos códigos básicos e será capaz de pensar nas linhas de programação mesmo estando longe do seu PC, vai conseguir montar scripts na sua cabeça e ver que quando você testá-los você realmente tinha pensado certo!
Download do Aplicativo de Revisão (Versão Aula 4)*:
- Código:
http://www.4shared.com/rar/9jmEvUAHba/Revisando_a_Aula_4.html
*Contém as Aulas 1, 2, 3 e 4. Disponibilizei assim para maior comodidade.
Isso até agora foi apenas uma pequena introdução.
Vamos falar mais do GML no Tópico da Aula 1 - Parte 2.
Abraços
DHarrison
------------------------------------------
O Curso:° - Aula 1 (Parte 1) - Entendendo o Funcionamento do GML (O Básico)
° - Aula 1 (Parte 2) - Entendendo o Funcionamento do GML (As Estruturas do GML)
° - Aula 2 - Variáveis Locais, Globais, Arrays e Built-in Variables
° - Aula 3 - As Declarações IF, IF/ELSE e SWITCH
° - Aula 4 - A Declaração WITH
° - Aula 5 - A Declaração FOR
Aulas Complementares e Extras (Descontinuadas, pois já existe a Documentação Traduzida do Game Maker no fórum):
° - Extra 1 - Lista Completa e Explicada de Built-in Variables e Visão Geral sobre Constants
° - Extra 2 - Lista Detalhada e Explicada das Built-in Functions mais usadas em GML
Última edição por dharrison em Seg 05 maio 2014, 11:49, editado 10 vez(es) (Motivo da edição : correções)
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Valew pela aula,so mt ruim em gml so sei copiar e colar um grande desastre D:!
Mas uma vez valew =D
EDIT:
Vo tentar aprender os movimentos basicos =D
VALEEEEEEEEEWWWWWWWW DE AGRADEÇO MT APRENDI MOVIMENTO TOP DOWN =D
Mas uma vez valew =D
EDIT:
Vo tentar aprender os movimentos basicos =D
VALEEEEEEEEEWWWWWWWW DE AGRADEÇO MT APRENDI MOVIMENTO TOP DOWN =D
Nicolas- Data de inscrição : 23/02/2010
Reputação : 4
Número de Mensagens : 492
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Nicolas
Fico feliz que tenha te ajudado cara
Acompanhe as aulas, com certeza você poderá apreder muito mais
No momento está meio complicado aqui, mas assim que possivel eu e o Markituh postaremos as aulas 4, 5 e 6.
Abração
DHarrison
Fico feliz que tenha te ajudado cara
Acompanhe as aulas, com certeza você poderá apreder muito mais
No momento está meio complicado aqui, mas assim que possivel eu e o Markituh postaremos as aulas 4, 5 e 6.
Abração
DHarrison
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Desculpem-me se o meu comentário ficou sendo algo irrelevante mas eu gostei muito da aula primeiramente mas o que eu pude perceber no pouco que eu li é que o bom para se trabalhar com gml é deixar o game maker no advanced mode porque certas coisas do advanced farão toda a diferença na hora de escrever os códigos como cor de cada linha de código, identidade automática do código (automatic identation não sei bem se é indentidade mas em todos os casos vamos fingir que é) e por aí vai, ou seja, o certo a se fazer é mesmo que um cara seja iniciante o bom é deixar em opções avançadas, correto?
Edit:
Até que a maioria aí fez alguns sentidos pra mim mas essa questão do exemplo do objeto mario ter 6 pixels e o objeto caixa ter só 4, pra mim não fez o menor sentido porque como eu tenho a noção dos tamanhos pra saber quando um objeto vai passar pelo outro objeto e quando não? agradeço desde já pela colaboração.
Edit:
Até que a maioria aí fez alguns sentidos pra mim mas essa questão do exemplo do objeto mario ter 6 pixels e o objeto caixa ter só 4, pra mim não fez o menor sentido porque como eu tenho a noção dos tamanhos pra saber quando um objeto vai passar pelo outro objeto e quando não? agradeço desde já pela colaboração.
Última edição por DragonWarrior em Sex 10 Dez 2010, 17:58, editado 1 vez(es)
DragonWarrior- Data de inscrição : 11/10/2010
Reputação : 1
Número de Mensagens : 61
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Sim, correto. Se essa opção estiver desativada, não vai aparecer os Scripts, Paths, Time Lines e Fontes, que são coisas essenciais para uma boa programação.DragonWarrior escreveu:Desculpem-me se o meu comentário ficou sendo algo irrelevante mas eu gostei muito da aula primeiramente mas o que eu pude perceber no pouco que eu li é que o bom para se trabalhar com gml é deixar o game maker no advanced mode porque certas coisas do advanced farão toda a diferença na hora de escrever os códigos como cor de cada linha de código, identidade automática do código (automatic identation não sei bem se é indentidade mas em todos os casos vamos fingir que é) e por aí vai, ou seja, o certo a se fazer é mesmo que um cara seja iniciante o bom é deixar em opções avançadas, correto?
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Sim correto.
Não falei nada sobre isso, porque como disse no começo das aulas eu não vou ensinar como usar o Game Maker, mas sim a Linguagem dele.
Mas para poder aproveitar ao Máximo o GML é necessário usar o Advanced Mode e ter o GM PRO.
Abraços ;)
DHarrison
Não falei nada sobre isso, porque como disse no começo das aulas eu não vou ensinar como usar o Game Maker, mas sim a Linguagem dele.
Mas para poder aproveitar ao Máximo o GML é necessário usar o Advanced Mode e ter o GM PRO.
Abraços ;)
DHarrison
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Outra coisa, acabei de dar outra olhadinha no tutorial e as coisas ficaram mais claras ainda mas só tem uma coisa aí nesse exemplo do Mario, se tipo assim pra que fazer tudo isso para um objeto colidir com o outro e parar quando você pode muito bem pegar o objeto bloco ou caixa, ou o que você quiser para que bloqueie a passagem do mario você pode por um evento de enter code com a seguinte e simples programação que eu tenho certeza que vocês conheçem?:
move_set=+0
Isso é, colocado é claro associado a um evento de colisão com o objeto mario porque essa linha de comando estaria sendo colocada no bloco, eu acho mais fácil do que fazer desse outro jeito que vocês mostraram porque sinceramente esse negócio de tamanho de pixel de cada personagem permitir ou não a passagem do sprite pelo objeto, ficou uma coisa muito confusa.
move_set=+0
Isso é, colocado é claro associado a um evento de colisão com o objeto mario porque essa linha de comando estaria sendo colocada no bloco, eu acho mais fácil do que fazer desse outro jeito que vocês mostraram porque sinceramente esse negócio de tamanho de pixel de cada personagem permitir ou não a passagem do sprite pelo objeto, ficou uma coisa muito confusa.
DragonWarrior- Data de inscrição : 11/10/2010
Reputação : 1
Número de Mensagens : 61
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Hmm... Rapaz, não vi muita coisa na parte da colisão com o Mário, olhe lá, pode estar interpretando as coisas errado. E não é move, é motion.DragonWarrior escreveu:Outra coisa, acabei de dar outra olhadinha no tutorial e as coisas ficaram mais claras ainda mas só tem uma coisa aí nesse exemplo do Mario, se tipo assim pra que fazer tudo isso para um objeto colidir com o outro e parar quando você pode muito bem pegar o objeto bloco ou caixa, ou o que você quiser para que bloqueie a passagem do mario você pode por um evento de enter code com a seguinte e simples programação que eu tenho certeza que vocês conheçem?:
move_set=+0
Isso é, colocado é claro associado a um evento de colisão com o objeto mario porque essa linha de comando estaria sendo colocada no bloco, eu acho mais fácil do que fazer desse outro jeito que vocês mostraram porque sinceramente esse negócio de tamanho de pixel de cada personagem permitir ou não a passagem do sprite pelo objeto, ficou uma coisa muito confusa.
Isso seria simplesmente a questão de movimento por pixels do Mario e do Bloco, não há nada de muita coisa aí.Tópico escreveu:Por exemplo, se você quer fazer o Obj Mario colidir com o Bloco e parar, se o tamanho do Bloco for 4pxl e a Velocidade do Mario 6pxl (na realidade blocos são maiores, mas é só um exemplo). O Obj Mario algumas vezes ‘passaria reto’ pelo bloco, pois ele se move de 6 em 6 pixel, e o bloco tem apenas 4.
Na dinâmica real do jogo esse tipo de coisa só seria possível se o Mario fosse um Sprite de 1pxl. No entanto isso acontece frequentemente em jogos de tiro, quando a Mask do Obj Bala é muito pequena.
De qualquer modo, foi só um exemplo.
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
DragonWarrior
Bom cara, como explicado no começo da aula, é tudo teórico, e os códigos que foram usados servem apenas para exemplificar as coisas, não significa que eles realmente seriam a melhor escolha de uso.
E quanto a parte da Colisão, baixe o Aplicativo de Revisão da Aula 1 e você verá o movimento do player na prática, e verá como ele se 'teleporta' de um lugar para o outro. Em outras palavras, por se 'teleportar' desse jeito é que ele pode ignorar a colisão se os Sprites forem muito pequenos ou se a Velocidade estiver muito alta.
É isso
Abraços
DHarrison
Bom cara, como explicado no começo da aula, é tudo teórico, e os códigos que foram usados servem apenas para exemplificar as coisas, não significa que eles realmente seriam a melhor escolha de uso.
E quanto a parte da Colisão, baixe o Aplicativo de Revisão da Aula 1 e você verá o movimento do player na prática, e verá como ele se 'teleporta' de um lugar para o outro. Em outras palavras, por se 'teleportar' desse jeito é que ele pode ignorar a colisão se os Sprites forem muito pequenos ou se a Velocidade estiver muito alta.
É isso
Abraços
DHarrison
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
É um bom tutorial para iniciantes, porem possui alguns erros:
Um outro erro está no exemplo do Mario, na verdade o instance_destroy() não para o código. Ele é executado até o final. (O evento "destroy" é executado assim que o instance_destroy é chamado!).
Você pode testar isso fazendo o seguinte:
Crie um objeto e no create:
No evento destroy
Corrija isso para não passar idéias erradas ok?
If (keyboard_check(vk_right));
{
hspeed = 4;
}
if (keyboard_check(vk_left));
{
hspeed = -4;
}
If (keyboard_check(vk_right)); //SE a tecla Seta Direita for pressionada...
{ //Esse colchete se chama “Start of a Block”
hspeed = 4 //… a variavel hspeed sera igual a 4.
} //Esse se chama “End of a Block”
if (keyboard_check(vk_left));
{
hspeed = -4;
}
/*Você deve estar pensando:
“Como isso pode ser algo organizado? É a maior bagunça!”
Mas experimente colar o conteúdo dessa caixa de código num Piece of Code ou Script do GM.
Observe o resultado*/
Não pode colocar ";" no if, o ";" indica término de ações, usar isso no if faria o GM pensar que isso é um comando a ser executado e não uma sentença a ser verificada. Com o if e a falta da "pergunta", o GM iria acusar erro.If (keyboard_check(vk_right));
{
x += 4;
}
Um outro erro está no exemplo do Mario, na verdade o instance_destroy() não para o código. Ele é executado até o final. (O evento "destroy" é executado assim que o instance_destroy é chamado!).
Você pode testar isso fazendo o seguinte:
Crie um objeto e no create:
- Código:
instance_destroy();
show_message("Evento Create");
No evento destroy
- Código:
show_message("Evento Destroy");
Corrija isso para não passar idéias erradas ok?
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Certo, você tem alguma sugestão para usar no lugar do Instance Destroy? Visto isso é só um exemplo para estudar o código e não executa-lo no GM necessariamente.
Obrigado pelas correções, vou aplicá-las agora mesmo.
Obrigado pelas correções, vou aplicá-las agora mesmo.
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
dharrison, seu tutorial está muito bom, mesmo! Eu já sabia sobre como organizar códigos e tal (eu mexia com Pawn Scripts), mas confesso que sou um usuário fiel do Drag n' Drop.
Eu li seu tutorial, já peguei quase tudo (lendo e relendo pra aprender), espero que eu aprenda GML. Parabéns pelo tutorial, está impecável! Se continuar assim, talvez você ainda ganhe uma estrelinha azul. ;)
o/
Eu li seu tutorial, já peguei quase tudo (lendo e relendo pra aprender), espero que eu aprenda GML. Parabéns pelo tutorial, está impecável! Se continuar assim, talvez você ainda ganhe uma estrelinha azul. ;)
o/
Mr.Rafael- Games Ranking :
Notas recebidas : A-C-B-A-A
Data de inscrição : 05/10/2010
Reputação : 94
Número de Mensagens : 502
Prêmios :
x 0 x 2 x 0
x 1 x 1 x 3
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Fico feliz que tenha gostado Mr.Rafael
Acompanhe todas as aulsa que com certeza você aprenderá xD
Falando em gostar de tutoriais preciso arranjar um tempo para seguir seus tutos de Lvl Design, eles são desamasiadamente incriveis *-*
Precisar tamos ae né cara ;)
Abração
DHarrison
Acompanhe todas as aulsa que com certeza você aprenderá xD
Falando em gostar de tutoriais preciso arranjar um tempo para seguir seus tutos de Lvl Design, eles são desamasiadamente incriveis *-*
Precisar tamos ae né cara ;)
Abração
DHarrison
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Claro!
Um exemplo que você pode dar para mostrar como os objetos são executados na ordem em que são colocados na room é assim:
Cria 2 objetos, no CREATE do primeiro coloca:
show_message("Esse é o objeto 1");
no segundo:
show_message("Esse é o objeto 2");
Coloque o 1 na room e depois o 2. Execute e veja qual mensagem aparece primeiro. Depois inverta e coloque primeiro o 2 e depois o 1, teste novamente para ver qual aparece primeiro.
Um exemplo que você pode dar para mostrar como os objetos são executados na ordem em que são colocados na room é assim:
Cria 2 objetos, no CREATE do primeiro coloca:
show_message("Esse é o objeto 1");
no segundo:
show_message("Esse é o objeto 2");
Coloque o 1 na room e depois o 2. Execute e veja qual mensagem aparece primeiro. Depois inverta e coloque primeiro o 2 e depois o 1, teste novamente para ver qual aparece primeiro.
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Mto obrigado Janx, editei o tópico.
Confira se agora está coerente
Testei seu exemplo aqui e coloquei dentro de uma citação na Aula.
Grato
DHarrison
Confira se agora está coerente
Testei seu exemplo aqui e coloquei dentro de uma citação na Aula.
Grato
DHarrison
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Bom, agora deu para entender mais um pouquinho vou assistir as outras aulas para entender mais, muito obrigado pela ajuda e consideração, continuem sempre assim e sucessos galerinha da game maker brasil, vocês são muito bons naquilo que fazem .
DragonWarrior- Data de inscrição : 11/10/2010
Reputação : 1
Número de Mensagens : 61
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re-up
Por favor peço que Re-Up o arquivo
Obrigado
Obrigado
TheGui9876- Data de inscrição : 30/08/2012
Reputação : 0
Número de Mensagens : 1
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Realmente, estou buscando algumas engines para me ajudar, mas esta Aula ira me ajudar muito, muito obrigado pessoal.
Ferna49- Data de inscrição : 19/07/2012
Reputação : 0
Número de Mensagens : 54
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
Ferna49
vou tentar fazer o reupload do arquivo hoje a noite
EDIT:
Link Corrigido, baixe pelo mesmo link do antigo xD
vou tentar fazer o reupload do arquivo hoje a noite
EDIT:
Link Corrigido, baixe pelo mesmo link do antigo xD
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: O Básico.
ola! e que eu tava lendo seus tutorias de gml para o gamemaker 8.0 mais depois que eu vi que vc nao ia mais continuar pq ja tem a documentação traduzida aqui, e nisso eu tava precisando da documentação ja que voce nao vai com os tutorias
Tópicos semelhantes
» [Curso de GML] Aula 1 - Entendendo o Funcionamento do GML: As Estruturas do GML
» [Curso Gm 3D] Aula 4: MODELOS
» Curso básico de design - Intro
» [Curso Gm 3D] Aula 5: TRANSFORMAÇÕES
» [Curso de GML] Aula 5 - A declaração FOR
» [Curso Gm 3D] Aula 4: MODELOS
» Curso básico de design - Intro
» [Curso Gm 3D] Aula 5: TRANSFORMAÇÕES
» [Curso de GML] Aula 5 - A declaração FOR
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos