1. Introdução ao GML
1.1 O que é GML?
GML é a linguagem de programação usada no GameMaker Studio, uma ferramenta para desenvolver jogos. Com GML, você pode controlar eventos, animações, física e mais.
1.2 Configurando o Ambiente
Antes de começar, baixe e instale o GameMaker Studio em: GameMaker Studio.
1.3 Estrutura Básica de um Jogo
GameMaker usa uma arquitetura baseada em objetos, eventos e ações.
2. Fundamentos de GML
2.1 Variáveis
Em GML, variáveis são usadas para armazenar dados como números, texto, etc.
// Declarando uma variável global
global.score = 0;
// Declarando uma variável local
var vida = 100;
2.2 Tipos de Dados
- Inteiros: Números inteiros.
- Flutuantes: Números com decimais.
- Strings: Texto.
- Booleans: Verdadeiro ou falso.
var numero = 10; // Inteiro
var preco = 9.99; // Flutuante
var nome = "Jogador"; // String
var ativo = true; // Booleano
2.3 Operadores
- Aritméticos: +, -, *, /, %
- Comparação: ==, !=, <, >, <=, >=
- Lógicos: &&, ||, !
var a = 10;
var b = 5;
var soma = a + b; // soma = 15
var maior = a > b; // maior = true
3. Controle de Fluxo
3.1 Estruturas Condicionais
Estruturas condicionais permitem que você tome decisões no código.
var vida = 50;
if (vida > 0) {
show_message("Você está vivo!");
} else {
show_message("Você morreu!");
}
3.2 Laços de Repetição
Laços de repetição permitem executar um bloco de código várias vezes.
for (var i = 0; i < 10; i++) {
show_message("Repetição: " + string(i));
}
var contador = 0;
while (contador < 5) {
show_message("Contagem: " + string(contador));
contador++;
}
4. Manipulação de Objetos e Eventos
4.1 Criando Objetos
No GameMaker, você cria objetos que têm eventos associados.
4.2 Eventos Básicos
- Create Event: Executado quando o objeto é criado.
- Step Event: Executado a cada frame do jogo.
// Create Event
x_speed = 5;
// Step Event
x = x + x_speed;
4.3 Colisões
Detecte colisões entre objetos e realize ações com base nelas.
if (collision_rectangle(x-5, y-5, x+5, y+5, obj_inimigo, false, true)) {
vida -= 10;
}
5. Funções e Scripts
5.1 Funções em GML
Criar funções permite que você organize o código em blocos reutilizáveis.
function calcular_dano(ataque, defesa) {
return ataque - defesa;
}
var dano = calcular_dano(30, 10);
show_message("Dano causado: " + string(dano));
5.2 Scripts
Scripts são como funções, mas ficam armazenados separadamente para reutilização.
6. Gráficos e Sons
6.1 Carregando Sprites
Sprites representam as imagens que você usa para objetos no jogo.
sprite_index = spr_player; // Onde spr_player é um sprite pré-definido
6.2 Tocar Sons
Você pode tocar sons usando a função audio_play_sound.
audio_play_sound(snd_jump, 1, false);
7. Interatividade e UI
7.1 Captura de Entradas
Capture entradas do usuário, como pressionamento de teclas.
if (keyboard_check(vk_space)) {
show_message("Espaço pressionado!");
}