[Resolvido]Contato com objeto

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

Resolvido [Resolvido]Contato com objeto

Mensagem por BlackNight em Sab 11 Dez 2010, 21:18

Eu to fazendo pergunta igual a um maluco para entender mais sobre o GML,to com o codigo:

no evento colisão com o personagem:
move_contact_solid(direction,y-12)//para que o personagem seja lançado para o alto

So que sei que isso nao está funcionando,basicamente preciso do codigo que o personagem no contato com a mola seja lançado para o alto e depois caise com a gravidade.

Mais uma coisa preciso de um jeito do mosntro ficar fazendo o percurso de X=1200 para 1856 e Y = 416 para 416.


Última edição por BlackNight em Dom 12 Dez 2010, 11:53, editado 1 vez(es)

BlackNight

Número de Mensagens : 35
Idade : 21
Data de inscrição : 08/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por fonetico em Sab 11 Dez 2010, 21:25

Esse código não serve exatamente para isso. Ele é usado em maior parte para fazer colisão com o chão em jogos de plataforma, para arrumar certos bugs.

Se tratando de uma mola, você pode fazer a colisão, no player, dele com a mola.
E agora, aos códigos explicados:


if y < other.y //se o player estiver em cima da mola (não do lado dela)
y -= 12 //faz o player subir


Basicamente é isso, qualquer erro, pode dizer.

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por BlackNight em Sab 11 Dez 2010, 21:40

Cara não deu em nada,coloquei no evento passo e nada.E sobre os movimentos dos monstros?

BlackNight

Número de Mensagens : 35
Idade : 21
Data de inscrição : 08/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por fonetico em Sab 11 Dez 2010, 21:43

Pelo raciocínio era pra dar certo. Você criou a gravidade? Não tem outro evento interferindo?

Já dos monstros, não entendi direito. Você quer que eles fiquem repetindo um percurso? Nisso, seu jogo é de plataforma certo?

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por BlackNight em Sab 11 Dez 2010, 21:48

Sim é de plataforma,e os monstros tem que ficar repetindo o percuso.Sobre a mola com o codigo depois vou dar uma olhada.

BlackNight

Número de Mensagens : 35
Idade : 21
Data de inscrição : 08/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por Henrique_GJ em Sab 11 Dez 2010, 22:14

fonetico escreveu:Esse código não serve exatamente para isso. Ele é usado em maior parte para fazer colisão com o chão em jogos de plataforma, para arrumar certos bugs.

Se tratando de uma mola, você pode fazer a colisão, no player, dele com a mola.
E agora, aos códigos explicados:


if y < other.y //se o player estiver em cima da mola (não do lado dela)
y -= 12 //faz o player subir


Basicamente é isso, qualquer erro, pode dizer.

realmente não pode dar certo pois você colocou no colision y--= 12 logo ele vai subir 12 pixeis de vez somente enquanto estiver colidindo, sabe no que isso deve de ter dado? se o player não ficou parado em cima da mola como se estivesse em cima do chão, ele ficou "tremendo" em cima da mola subindo 12 pixeis e caindo subindo 12 pixeis e caindo

resumindo o resultado desse codigo é o player subir um pouquinho de nada durante um unico step e derrepnte cair


o que pode dar certo: troque y-=12 por hspeed-=12 (se o pulo ficar muito alto diminui o 12, provavelmente deve ficar bem grande)

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por fonetico em Sab 11 Dez 2010, 22:28

Henrique_GJ escreveu:
fonetico escreveu:Esse código não serve exatamente para isso. Ele é usado em maior parte para fazer colisão com o chão em jogos de plataforma, para arrumar certos bugs.

Se tratando de uma mola, você pode fazer a colisão, no player, dele com a mola.
E agora, aos códigos explicados:


if y < other.y //se o player estiver em cima da mola (não do lado dela)
y -= 12 //faz o player subir


Basicamente é isso, qualquer erro, pode dizer.

realmente não pode dar certo pois você colocou no colision y--= 12 logo ele vai subir 12 pixeis de vez somente enquanto estiver colidindo, sabe no que isso deve de ter dado? se o player não ficou parado em cima da mola como se estivesse em cima do chão, ele ficou "tremendo" em cima da mola subindo 12 pixeis e caindo subindo 12 pixeis e caindo

resumindo o resultado desse codigo é o player subir um pouquinho de nada durante um unico step e derrepnte cair


o que pode dar certo: troque y-=12 por hspeed-=12 (se o pulo ficar muito alto diminui o 12, provavelmente deve ficar bem grande)

É verdade, não tinha pensado nisso. Mas só uma correção, coloca-se vspeed e não hspeed. Porque hspeed é a velocidade horizontal.

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por Henrique_GJ em Sab 11 Dez 2010, 22:42

fonetico escreveu:
Henrique_GJ escreveu:
fonetico escreveu:Esse código não serve exatamente para isso. Ele é usado em maior parte para fazer colisão com o chão em jogos de plataforma, para arrumar certos bugs.

Se tratando de uma mola, você pode fazer a colisão, no player, dele com a mola.
E agora, aos códigos explicados:


if y < other.y //se o player estiver em cima da mola (não do lado dela)
y -= 12 //faz o player subir


Basicamente é isso, qualquer erro, pode dizer.

realmente não pode dar certo pois você colocou no colision y--= 12 logo ele vai subir 12 pixeis de vez somente enquanto estiver colidindo, sabe no que isso deve de ter dado? se o player não ficou parado em cima da mola como se estivesse em cima do chão, ele ficou "tremendo" em cima da mola subindo 12 pixeis e caindo subindo 12 pixeis e caindo

resumindo o resultado desse codigo é o player subir um pouquinho de nada durante um unico step e derrepnte cair


o que pode dar certo: troque y-=12 por hspeed-=12 (se o pulo ficar muito alto diminui o 12, provavelmente deve ficar bem grande)

É verdade, não tinha pensado nisso. Mas só uma correção, coloca-se vspeed e não hspeed. Porque hspeed é a velocidade horizontal.

É verdade, não tinha pensado nisso. lol! incrivel que é um erro tão bobo xD hspeed e vspeed nem da pra confunfir o nome diz tudo lol! lol! lol!

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por Mannoroth em Sab 11 Dez 2010, 23:39

Sobre fazer o percurso, no event step coloque isso:
Código:
if x=1200 {sprite_index=spr_patr_dir;hspeed=5}//patrulhando para a direita
if x=1856 {sprite_index=spr_patr_esq;hspeed=-5}//patrulhando para a esquerda

Mannoroth

Ranking : Nota D
Número de Mensagens : 836
Idade : 26
Data de inscrição : 05/10/2010
Notas recebidas : D+D
Reputação : 12
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]Contato com objeto

Mensagem por BlackNight em Dom 12 Dez 2010, 00:15

Pessoal sou meio sem saber nada nisso mas como eu estudei um pouco consegui complementar um pouco o codigo e deu certo desse modo:

if x=1840 and y=416 {hspeed=-5}//patrulhando para a esquerda
else{
if x=1200 and y=416 {hspeed=5}//patrula para a direita
}

A parte do pulo deu certinho,agora outra coisa como crio a gravidade pro personagem descer.

BlackNight

Número de Mensagens : 35
Idade : 21
Data de inscrição : 08/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Contato com objeto

Mensagem por Mannoroth em Seg 13 Dez 2010, 16:39

No step coloca isso
Código:
if place_free(x,y+2) gravity=0.7 else gravity=0
assim, se o player tiver 2 quadrados abaixo livre de colisão ele terá gravidade igual a 0.7, caso contrario nao tera gravidade(pisando no chao).
Espero que esse código dê certo, nao testei, rs...

Mannoroth

Ranking : Nota D
Número de Mensagens : 836
Idade : 26
Data de inscrição : 05/10/2010
Notas recebidas : D+D
Reputação : 12
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]Contato com objeto

Mensagem por Conteúdo patrocinado Hoje à(s) 09:56


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