Fazer download em txt, pdf ou txt
Fazer download em txt, pdf ou txt
Você está na página 1de 2

Para criar um sistema de tiro simples no GameMaker, você precisa definir um objeto

para o projétil, configurar a lógica de disparo no objeto do jogador, e lidar com a


colisão do projétil com outros objetos (como inimigos). Vamos implementar isso
passo a passo:

Criar o objeto do projétil:

Crie um novo objeto chamado obj_projetil.


Adicione um sprite simples para representar o projétil.
Configurar a lógica do projétil:

No evento Create do obj_projetil, defina a velocidade do projétil.


No evento Step do obj_projetil, mova o projétil na direção correta.
No evento Collision com o objeto obj_inimigo, destrua o projétil e trate a colisão.
Configurar a lógica de disparo no objeto do jogador:

No evento Step do objeto do jogador (obj_jogador), verifique se a tecla de disparo


é pressionada e crie um projétil.
Aqui está o código para cada parte:

No evento Create do obj_projetil:


gml
Copiar código
// Defina a velocidade do projétil
speed = 10; // Ajuste conforme necessário
direction = 0; // Defina a direção inicial (0 é para a direita, 180 para a
esquerda, etc.)
No evento Step do obj_projetil:
gml
Copiar código
// Move o projétil na direção em que está apontando
x += lengthdir_x(speed, direction);
y += lengthdir_y(speed, direction);

// Destrua o projétil se sair da tela


if (x < 0 || x > room_width || y < 0 || y > room_height) {
instance_destroy();
}
No evento Collision do obj_projetil com obj_inimigo:
gml
Copiar código
// Destrua o projétil ao colidir com um inimigo
instance_destroy(other); // Destrói o inimigo
instance_destroy(); // Destrói o projétil
No evento Step do obj_jogador:
gml
Copiar código
// Verifique se a tecla de disparo é pressionada
if (keyboard_check_pressed(vk_space)) {
// Cria um novo projétil na posição do jogador
var proj = instance_create_layer(x, y, "Instances", obj_projetil);
// Define a direção do projétil (ajuste conforme necessário, aqui está definido
para a direita)
proj.direction = 0; // 0 graus, projétil vai para a direita
}
Adicionando a direção do tiro:
Se você quiser que o projétil seja disparado na direção em que o personagem está
olhando, você pode adicionar uma variável para rastrear a direção do personagem e
ajustá-la de acordo com o movimento. Suponhamos que obj_jogador se mova para a
esquerda e para a direita, você pode fazer isso:

No evento Step do obj_jogador:

gml
Copiar código
// Variável para armazenar a direção do jogador
var direcao_jogador;

// Verifique a entrada do jogador e atualize o movimento e a direção


if (keyboard_check(vk_right)) {
movimento_horizontal = 1;
direcao_jogador = 0; // Direita
} else if (keyboard_check(vk_left)) {
movimento_horizontal = -1;
direcao_jogador = 180; // Esquerda
} else {
movimento_horizontal = 0;
}

// Aplica movimento horizontal


x += movimento_horizontal * velocidade_horizontal;

// Verifique se a tecla de disparo é pressionada


if (keyboard_check_pressed(vk_space)) {
// Cria um novo projétil na posição do jogador
var proj = instance_create_layer(x, y, "Instances", obj_projetil);
// Define a direção do projétil com base na direção do jogador
proj.direction = direcao_jogador;
}
Com esses códigos, você tem um sistema de tiro básico no GameMaker. O jogador pode
disparar projéteis pressionando a tecla de espaço, e os projéteis se moverão na
direção definida. Adapte os valores e a lógica conforme necessário para se adequar
ao seu jogo.

Você também pode gostar