[Resolvido]mask variável no mesmo sprite - ou: subindo escadas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido]mask variável no mesmo sprite - ou: subindo escadas

Mensagem por saim em Qui 30 Jun 2011, 17:24

Quero criar jogos de plataforma nos quais é possível ficar pendurado na beira das plataformas. Tipo o antigo prince of persia. Não só isso, quero subir escadas com a animação das pernas, quero criar um jogo com animação mais fluida do que simplesmente saltar pra posição final.
Daí, pra animar uma subida, pensei em criar um sprite imenso só com a animação. Ou seja, o objeto não sairia do lugar, mas como o sprite tem o personagem se deslocando, a impressão é que ele está se mexendo. No final da animação, eu salto pra posição onde está a figura e volto o image_index pro primeiro frame, no qual o personagem ainda não se deslocou, dando a impressão de que o objeto foi se movendo aos poucos. Deu pra entender? às vezes eu começo a tagarelar sem realmente dizer nada útil. Espero que não tenha sido o caso

Bom, meio que deu certo. Fiz um teste de deslocamento horizontal e não se nota que o objeto está saltando, parece que realmente o movimento é contínuo. O problema está na mask. Em todos os pontos onde o sprite passa, a mask está lá. Se eu rodo um teste de colisão, ele dá positivo, mesmo que não tenha nenhum desenho ali. Porque o desenho só não está ali no frame atual. A alguns steps atrás ou daqui a alguns steps, ele estará lá.

Então que peço que alguém me mostre uma engine, um código ou mesmo uma idéia de como resolver essa questão. Como escalar uma plataforma sem levar um tiro que deveria ter passado acima da minha cabeça?


Última edição por saim em Sab 02 Jul 2011, 08:49, editado 1 vez(es)

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]mask variável no mesmo sprite - ou: subindo escadas

Mensagem por MatheusReis em Qui 30 Jun 2011, 17:32


A opção "separate collision masks" faz com que cada frame da sprite tenha sua propria mask, evitando o problema mencionado.

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]mask variável no mesmo sprite - ou: subindo escadas

Mensagem por Markituh em Qui 30 Jun 2011, 17:38

Aew, primeira dúvida do saim que respondo desde os primórdios do conhecimento Happy

O antigo Prince of Persia, é aquele feito em Flash que ele tomava uma poção e ficava com um medo grande de cair nos espinhos? Acho que sim. O Willy postou uma engine que faz exatamente isso, se pendura e depois levanta, a animação fica por ti, a programação já tá pronta (rimou)
Código:
http://gmbr.forumeiros.com/t13377-engine-pendurar-e-subir-friction-personalizado-plataforma?highlight=pendurar
Sobre a mask, acho que sei como. Tá ligado que a mask é resultado de todos os frames juntos né? Para sanar isso, marque a Checkbox Separate Collision Masks. Isso vai checar a colisão em cada frame separadamente.

Edit: Ah, o Mathaeuz postou primeiro, eis aí uma ilustração.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]mask variável no mesmo sprite - ou: subindo escadas

Mensagem por saim em Sex 01 Jul 2011, 09:51

Cara, tem uma engine pronta pra isso? Primeira tarefa da noite: baixar essa engine!

Eu realmente me esqueci completamente do separate collision mask. Tem um motivo pra isso: a maior parte dos meus testes eu faço longe do game maker, com meu game genérico. Daí, eu gero as sprites a partir de desenhos em surfaces ou importo de desenhos do paint.
O lado ruim é que esses métodos não permitem o uso das separate collision masks. O lado bom é que eu só uso esse truque pra testes, portanto posso contar com essa opção pra versão final do(s) jogo(s).

Portanto, minha pergunta foi respondida.

Vou baixar e brincar com a engine que o Markituh linkou e, depois, declarar o tópico resolvido.

Muito obrigado aos dois!

PS:
primeira dúvida do saim que respondo desde os primórdios do conhecimento
Falando desse jeito, parece até que sou grande coisa...

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]mask variável no mesmo sprite - ou: subindo escadas

Mensagem por Markituh em Sex 01 Jul 2011, 10:12

Falando desse jeito, parece até que sou grande coisa...
E você é! Foi o único que respondeu minha primeira dúvida(e entendeu) por causa do "It's in face" lá na GMC xD Não se esqueça de usar a busca, saim. Foi nela que achei a engine (e até porque eu já havia olhado ela) Happy

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]mask variável no mesmo sprite - ou: subindo escadas

Mensagem por saim em Sab 02 Jul 2011, 08:48

Muito boa a engine! Tópico resolvido! Realmente minha idéia de fazer a animação e saltar pra posição final era fundamentada.
Quanto à busca... eu procurei por escadas. Os resultados eram todos relativos à escada-de-marinheiro. Eu devia ter procurado por algo como "pendurar" ou coisa do tipo, mas como minha idéia original era fazer um jogo com escadas, procurei por escadas...

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]mask variável no mesmo sprite - ou: subindo escadas

Mensagem por Conteúdo patrocinado Hoje à(s) 00:07


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum