Conectar-se
Quem está conectado
34 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 34 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Ângulo da Sprite de acordo com ângulo de colisão

em Seg 18 Maio 2015, 14:51
Como pegar o ângulo de uma colisão e mudar a image_angle de acordo com este ângulo, como na imagem a seguir :

DVgl4YIW.png hosted at imgserv.com. the free image hosting service.

Um exemplo considerável seria a mudança do ângulo de sprite do sonic que sobe ou gira nas rampas.
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

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

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Seg 18 Maio 2015, 15:00
Baseado nessa sua imagem, seria algo parecido com...
na colisão com o chão...

Código:
image_angle=(point_direction(other.x,other.y,x,y)+90)

Claro que requer adaptação
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Seg 18 Maio 2015, 15:35
A imagem é apenas um exemplo, mas teriamos vários terrenos irregulares e afins, também teria objetos grandes e pequenos, enfim, acredito que essa ideia não seria válida.
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

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

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Seg 18 Maio 2015, 15:46
Código:
 if!(place_free(x,y+1)){
image_angle=direction;
}

. Pronto ele vai girar conforme o angulo que esta andando
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

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

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Seg 18 Maio 2015, 15:47
Código:
 if!(place_free(x,y+1)){
image_angle=direction;
}

. Pronto ele vai girar conforme o angulo que esta andando
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Seg 18 Maio 2015, 16:32
Como eu implemento isso? Na verdade não entendi oque isso faz. Não trabalho com direction e nem com solid.
avatar
Ranking : Nota A
Notas recebidas : B-B-B-A-A
Data de inscrição : 02/08/2013
Número de Mensagens : 306
Insígnias de JAM :

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

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

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Seg 18 Maio 2015, 18:53
Zero. escreveu:Como eu implemento isso? Na verdade não entendi oque isso faz. Não trabalho com direction e nem com solid.

Creio que colocando no step da faria efeito!

Tente assim:

Código:
if!(place_empty(x,y+1)){
image_angle=direction;
}
avatar
Ranking : Nota B
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Número de Mensagens : 1281
Insígnias de JAM :

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

Prêmios
   : 3
   : 1
   : 3
Ver perfil do usuário

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Seg 18 Maio 2015, 19:34
Na verdade isso é muito mais complexo no game maker. Já que ele usa sistema de colisão pixel-a-pixel.

Não tem como fazer isso só com 1 Objeto. Você pode fazer como no Sonic(rampas diferentes variando 22.5% cada) e coloca-las em cadeia. E mudar a sprite deacordo com o objeto que está colidindo é não "com a direção relativa".
Cuidado ao mudar image_angle pois isso afetará a mask e fará bugs na colisão. Crie uma variável e faça seu próprio draw.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Qua 20 Maio 2015, 23:03
Imaginando um pouco, será que seria possível fazer a imagem rotacionar nos terrenos irregulares, fazendo uma relação entre y e yprevious?
avatar
Ranking : Nota B
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Número de Mensagens : 1281
Insígnias de JAM :

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

Prêmios
   : 3
   : 1
   : 3
Ver perfil do usuário

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Qui 21 Maio 2015, 06:45
Não, iria ficar uma bagunça. Você já viu minha engine 360?
Ela faz exatamente isso, só que, está muito complicada.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

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

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Qui 21 Maio 2015, 11:50
Olhei sua engine, qual a ideia pra fazer a sprite rotacionar?
avatar
Ranking : Nota B
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Número de Mensagens : 1281
Insígnias de JAM :

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

Prêmios
   : 3
   : 1
   : 3
Ver perfil do usuário

Re: Ângulo da Sprite de acordo com ângulo de colisão

em Qui 21 Maio 2015, 11:58
Existem objetos ocultos. Cada tem uma variavel que representa angulo.

Tipo rampa : Valor Fixo.
Tipo ponto: O angulo do objeto para o jogador.

E então o jogador fica com a image_angle do objeto mais proximo.
Conteúdo patrocinado

Re: Ângulo da Sprite de acordo com ângulo de colisão

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