Página 1 de 1
Movimentação em curva
Enviado: Qua Dez 21, 2022 2:01 pm
por Jovane
Eu queria fazer uma espécie de granada(jogo 2d) que quando é jogada vai pra frente de maneira curvada como se estivesse sendo influenciada pela gravidade, alguém tem ideia de como fazer isso no gm2?
Re: Movimentação em curva Tópico resolvido
Enviado: Qua Dez 21, 2022 5:43 pm
por Chuaschinai
Você pode simplesmente usar duas variáveis uma para o eixo
x e outra para o eixo
y, essas variáveis farão o update do eixo x/y da granada, simulando então uma gravidade.
Exemplo Código da granada:
► Show Spoiler
Create:
Código: Selecionar todos
grav = 0.25; // Força da gravidade, valor maior puxa a granada mais rápida para baixo
force = 0; // Força que a granada terá quando for criada
hspd = 0; // Velocidade horizontal
vspd = 0; // Velocidade vertical
Step:
Código: Selecionar todos
// Update eixo x com o hspd
x += hspd;
// Incrementa a todo momento 0.25 que é a força da gravidade
vspd += grav;
// Update eixo y com o vspd
y += vspd;
Codigo do Canhão:
► Show Spoiler
Step:
Código: Selecionar todos
// Aqui você pega a direçao do mouse
direction = point_direction(x, y, mouse_x, mouse_y);
image_angle = direction;
// Botão pressionado para criar a granada
if(mouse_check_button_pressed(mb_left)) {
var grenade = instance_create_depth(x, y, depth+1, obj_grenade);
with(grenade) {
// Adiciona a forca que você quer para lançar a granada
force = 16;
// Atualiza o hspd mandando a granada no eixo x, na direçao do mouse
hspd = lengthdir_x(force, other.direction);
// Atualiza o hspd mandando a granada no eixo y, na direção do mouse
vspd = lengthdir_y(force, other.direction);
}
}
Re: Movimentação em curva
Enviado: Qua Dez 21, 2022 9:28 pm
por Jovane
klrh mano valeu! ajudou demais.