Player ser empurrado para trás ao atirar - TOPDOWN
Enviado: Seg Out 16, 2017 9:25 pm
Como faço o player ser empurrado para trás ao atirar? O jogo é no estile TOPVIEW.
Fórum dedicado ao desenvolvimento de games com foco na engine Game Maker.
https://tgmbr.redscreensoft.com/
Código: Selecionar todos
if sprite_index == spr_direita
{
if place_free(x - 4, y) x -= 4;
}
Código: Selecionar todos
speed = 5;
direction = direction + 180;
Tambem seria bacana dizer se o personagem se movimenta em 360 graus ou apenas nos quatros pontos cardiais.Alex FC escreveu:Fica complicado se você não postar o código de movimento e nem o de tiro. Não é qualquer código que vai se encaixar ao seu.
Ex: Se está manipulando as posições x e y diretamente, vai depender da sprite pra determinar qual é a direção:
Ex2: Se você está utilizando hspeed e vspeed pra movimentar:Código: Selecionar todos
if sprite_index == spr_direita { if place_free(x - 4, y) x -= 4; }
O código acima iria depender se está utilizando algum valor no friction ou alguma outra forma de parar o movimento continuo.Código: Selecionar todos
speed = 5; direction = direction + 180;
Enfim são suposições, sem o código que você está utilizando fica difícil dar a resposta com precisão. Ainda mais se tiver limitações como "não poder se mover enquanto se afasta".
FLWS!
Valeu galera, mas resolvi meu problema com esse código:garooc escreveu:Tambem seria bacana dizer se o personagem se movimenta em 360 graus ou apenas nos quatros pontos cardiais.Alex FC escreveu:Fica complicado se você não postar o código de movimento e nem o de tiro. Não é qualquer código que vai se encaixar ao seu.
Ex: Se está manipulando as posições x e y diretamente, vai depender da sprite pra determinar qual é a direção:
Ex2: Se você está utilizando hspeed e vspeed pra movimentar:Código: Selecionar todos
if sprite_index == spr_direita { if place_free(x - 4, y) x -= 4; }
O código acima iria depender se está utilizando algum valor no friction ou alguma outra forma de parar o movimento continuo.Código: Selecionar todos
speed = 5; direction = direction + 180;
Enfim são suposições, sem o código que você está utilizando fica difícil dar a resposta com precisão. Ainda mais se tiver limitações como "não poder se mover enquanto se afasta".
FLWS!