Avatar do usuário
186557
Membro
Membro
Autor
Mensagens: 21
Registrado em: Ter Nov 27, 2018 11:34 pm
Karma: 5

Problemas com invencibilidade e player sendo empurrado

Ter Jan 22, 2019 10:43 pm

Basicamente eu estava tentando fazer com que ao tomar dano o player ficasse piscando e invencivel por um curto tempo. O problema é que quando o player para de piscar quando ele toma outro dano o sistema de empurrar fica meio "confuso" pois as vezes o inimigo toca a esquerda do personagem e ele é empurrado para a direita e vice-versa mas é algo intermitente. Como posso resolver isso?

//Colisao com inimigo
if (place_meeting(x,y,obj_inimigo)) {
if invencivel == false
{
hp -= 10;
playerRecoil=4;
piscando=1
piscando_alarm=1
alarm[2]=2*room_speed
invencivel = 1
}
else if piscando == true {
alarm[3] = 30
hp -=0
}
}

//Fazer o player ser empurrado ao tocar no inimigo

if(playerRecoil!=-1){
    playerRecoil-=1;
    if (sign(obj_inimigo.x - obj_player.x)){
        hspeed-=7;
         } else if (sign(obj_inimigo.x + obj_player.x)){
         hspeed+=7;
        }
   playerStop=1;
}

if(playerRecoil=-1 && playerStop=1){
    hspeed=0;
    playerStop=-1;   
    }


Alarme 3
invencivel = false;

Tags:
 
Avatar do usuário
None
Administrador
Administrador
Mensagens: 206
Registrado em: Sáb Abr 14, 2018 8:11 pm
Karma: 416

Re: Problemas com invencibilidade e player sendo empurrado

Qua Jan 23, 2019 10:02 pm

Eu achei meio bizarro esse uso do sign, para checar se o objeto está a esquerda ou direita do player você só precisa usar o player.x - outro.x, se o valor for negativo o outro está a direita, se for positivo ele está à esquerda
Cachorro-quente!!!

Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes