Conectar-se
Quem está conectado
22 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 20 Visitantes

CRP-Max, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 20/01/2011
Número de Mensagens : 65
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Sprite preso

em Qui 03 Fev 2011, 22:29
Bom, uso o gm8 pro, e tenho uma dúvida, em um jogo que estava fazendo, o player possui um sprite para baixo, esquerda, direita e em movimento para tais lados, tudo funciona direitinho, mas ao fazer que ao colidir com um objeto solido ele não se mova, dá um bug em que ele não se move. Isso aconteceu porque o sprite se movia, e fez ele ficar preso dentro do outro objeto, tentei usar a função bounce mas também não deu certo. Acontece que esse problema já resolvi, porque usei a função jump to position para que quando o player colidir com algum objeto pulasse para fora, como se estivesse usando a função bounce. Até aí tudo bem, mas como o sprite muda de lado, ao virar, digamos que a "cauda" do player fica presa na parede (não é uma cauda, mas usei essa "expressão"), e não tem como sair. já tentei usar a função check empety, check colisionmas não consigo deter esse bug, inclusive em outro jogo que fiz (aquele tipo de jogo em que aquele bastãozinho fica embaixo rebatendo a bola para quebrar vários blocos lá emcima) há um bug em que, quando você pega um bonus para aumentar o bastão ao lado da parede, ele fica preso dentro da parede. Alguem me ajuda???
avatar
Data de inscrição : 16/01/2011
Número de Mensagens : 188
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sprite preso

em Qui 03 Fev 2011, 22:38
cara é só arrumar as sprites para tamanhos iguais.
avatar
Data de inscrição : 20/01/2011
Número de Mensagens : 65
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Sprite preso

em Qui 03 Fev 2011, 22:48
O jogo é um jogo de pokémon, e o sprite é de um gastly. Ao se virar, Sua "fumaçinha" se vira para o outro lado e se prende na parede. Os sprites já são do mesmo tamanho.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/11/2010
Número de Mensagens : 429
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 19

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sprite preso

em Qui 03 Fev 2011, 23:29
No player desmarca o opção de solid.
Cria um sprite que servirá de mascara pro player, faça em formato quadrado nele marque a opção solid.

Na colisão entre os dois digita esse código:
Código:
motion_set(360,0)

Pronto, resolvido!

*************Editado**********

Fiz uma engine pra encinar como funciona.
Link: Colisão by Shadow10


Última edição por Shadow10 em Qui 03 Fev 2011, 23:56, editado 1 vez(es)
avatar
Data de inscrição : 20/01/2011
Número de Mensagens : 65
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Sprite preso

em Qui 03 Fev 2011, 23:33
O player não é solid, e já que é um jogo de pokemon, terei que fazer uma "máscara" para todos eles? Ainda não entendi também como funciona essa máscara. Pode explicar?
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/11/2010
Número de Mensagens : 429
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 19

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sprite preso

em Qui 03 Fev 2011, 23:58
Você não precisa fazer 1 mascara pra todos eles.
Pode usar 1 só em todos eles, não tem erro.
avatar
Data de inscrição : 20/01/2011
Número de Mensagens : 65
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Sprite preso

em Sex 04 Fev 2011, 11:10
Mas como faço essa máscara???
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sprite preso

em Sex 04 Fev 2011, 11:20
Você cria uma sprite, e nessa sprite preencha de cor preta a parte em que você quer que a mask ocorra. Por exemplo, se o pokemon tiver a resolução de 54x32, vamos criar uma outra sprite com a mesma resolução para fazer a mask. E então pintamos um retângulo nessa sprite para ali ser a área de colisão, uma pequena ilustração:

A área do retângulo preta seria a área em que ocorreria a colisão, é claro que você tem que colocar na localização do bichano. Smile Para aplicar a máscara, só é ir no objeto e colocar a sprite da máscara no campo "Mask", lá em baixo, lado esquerdo, abaixo de Parent. Compreendeu colega?
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/11/2010
Número de Mensagens : 429
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 19

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sprite preso

em Sex 04 Fev 2011, 20:46
É, o Markituh disse tudo.
Mas se ainda não compreendeu é só informar que eu especifico pra você.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum