Retirando Bug dos Espinhos

Bem, em muitos jogos, vejo que ao apenas ENCOSTAR na LATERAL de um espinho já mata o persongem. Para resolver esse bug, é bem simples afinal. Se seu jogo está com esse bug, é porque você fez assim:

SE O PERSONGEM COLIDIR COM O ESPINHO > PERSONAGEM MORRE

Note que desse modo, seu jogo irá sim ficar bugado, pois mesmo que o jogador encostar na lateral do espinho, ele morrerá. Veja um exemplo:


Jogo: Caçada aos Cubinhos Amarelo (não é meu jogo, é apenas um jogo que achei na internet, que vi que tinha esse bug e usei-o como exemplo)

No jogo acima, ao encostar no espinho, mesmo de lado, eu morro. Para ajeitar esse bug, delete a ação:
SE O PERSONGEM COLIDIR COM O ESPINHO > PERSONAGEM MORRE

Agora crie um novo Active Object (Objeto Ativo) e pinte-o de uma cor qualquer. Depois ajuste o tamanho dele para ficar encima apenas das PONTAS do espinho e para ser uma linhazinha superfina.
Tem que ficar assim:



Renomeie ele para "Detector de Colisão". Agora adicione esses eventos no Event Editor (Editor de Eventos):
(PERSONAGEM) COLLISIONS ANOTHERR OBJECT > (PERSONAGEM) DESTROY
START OF FRAME > (DETECTOR DE COLISÃO) MAKE INVISIBLE


Explicando: Quando começar o nível, o detector de colisão ficará invisível. Então

Prontinho! Bug resolvido!

Nota: Cuidado aonde coloca o detector de colisão! Certifique-se de que no primeiro e no último espinho o Detector de Colisão ficará assim:



E não assim:



Pois se ficar do segundo modo, o Detector de Colisão ficará no logo acima da lateral do espinho, e então... então não vai ter adiantado de nada, pois assim que o personagem encostar na lateral, também vai encostar no Detector de Colisão...

Nota 2.: Aqui vai um método para ficar mais realista ainda. Se você usar pré-definido, crie uma nova condição, dê um duplo clique sobre o personagem e coloque:

COLLISIONS ANOTHER OBJECT (ESPINHOS) > (PERSONAGEM) MOVEMENT STOP

Isso fará que se o personagem colidir com a lateral do espinho, ele não vai prosseguir, como se fosse um obstáculo (até porque, na vida real não somos feiticeiros que ao se deparar com um espinho, pode ultrapassá-lo). Sem falar que seria BEM estranho, o personagem ultrapassar as laterais mas não ultrapassar as pontas do espinho. Se usar o Custom Movement, é o mesmo raciocínio, só fazer com que ao colidir com o espinho, o personagem não prossiga.

Nota 3.: Você tem que fazer esse processo para cada espinho diferente da fase. É mais trabalhoso, mas deixa o jogo sem bugs. O que você prefere, retirar todos os bugs que estão à sua altura, ou ignorá-los e fazer um jogo mal-feito que ninguém vai jogar? Você que sabe...

---------------------------------------------------------

Espero ter ajudado!

Abraços!

NOTA: Como alguns aqui já sabem, eu sou o Eskyz da BRMaker, então não pense que eu sou um cara que pegou um tutorial de outro fórum e fui colando no meu só pra ganhar fama. Agora, se você tiver visto esse tutorial em algum outro site que não tenha sido este ou a BRMaker, me avise!