[RESOLVIDO] Descer rampas

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

Resolvido [RESOLVIDO] Descer rampas

Mensagem por fernando.munizerthal em Dom 12 Abr 2015, 03:13

Antes de mais nada, Sim! Eu sei que existem milhares de posts e engines aqui de como fazer a movimentação em diversos ângulos.. Porém eu olhei todos já, e nenhum deles é a maneira que eu preciso, não quero uma engine com 50 scripts e um milhão de variáveis que eu preciso de uma semana pra entender..

A movimentação do meu personagem é feita com MEFs (Máquina de estado finito)..

Nos meus estados andando direita/esquerda eu movo o meu personagem com x + 7..

No step do meu personagem tenho o seguinte código para subir as rampas:
Código:
   while(place_meeting(Player_Obj.x, Player_Obj.y, diagonal2_obj))
    {
        Player_Obj.y -= 1;
    }

Esse código funciona perfeitamente para fazer o personagem subir a rampa, e como pode ser visto é um código extremamente simples, com uma lógica completamente básica, que qualquer um entende..

O que estou procurando é algo similar para descer a rampa, pois com o código apenas "ao contrário" o personagem vai descendo a rampa dando pequenos pulos.. (Acredito que isso ocorra por que na subida ele colide de frente com a rampa, enquanto na descida ele não esta pechando com nada.. Então ele anda mais e precisa descer menos vezes.. Algo assim).

O código que uso e que existe o problema dos pulos é o seguinte:
Código:
   while(place_meeting(Player_Obj.x, Player_Obj.y, diagonal2_obj))
    {
        Player_Obj.y += 1;
    }

Obs.: Os códigos colocados anteriormente são referentes a movimentação para a direita, a cada estado da MEF é somado 7 ao x.
Os objetos "diagonal1_obj" e "diagonal2_obj" representam respectivamente as rampas assim: /| e |\

Não relacionado com a dúvida:
Essa dúvida não é só minha, sei que existem engines boas, mas assim como eu, muitos aqui não tem tempo suficiente para destrinchar códigos de engines.. Engines boas porém complexas de mais.. Achei uma engine perfeita outro dia que falava da movimentação completa.. Mas tudo que eu queria era a rampa, não tinha como eu pegar todo aquele conteúdo e adaptar as minhas MEFs.. Acredito que quanto mais simples a solução mais fácil de adaptar a outros projetos que já estão com outras dezenas de códigos diferentes dos de cada pessoa..


Última edição por fernando.munizerthal em Qua 15 Abr 2015, 10:00, editado 3 vez(es)

fernando.munizerthal

Número de Mensagens : 76
Idade : 22
Data de inscrição : 17/10/2013
Reputação : 0
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] Descer rampas

Mensagem por gabrielsch em Dom 12 Abr 2015, 04:30

Visto o teu problema acredito que a solução seria verificar se existe esses objetos apenas quando for se movimentar para esquerda ou direita, algo como:
Código:

if keyboard_check_direct(vk_right)
{
 if place_meeting(Player_Obj.x + 4, Player_Obj.y, diagonal1_obj)
 {
  player_Obj.y += 1;
 }
}

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Descer rampas

Mensagem por fernando.munizerthal em Dom 12 Abr 2015, 11:26

Amigo, ja é dessa forma que eu faço.. Apenas quando esta no estado andando direta/esquerda.. Porém dessa forma ocorre meu problema, até se tu ver o código que tu postou é igual ao meu ;)

fernando.munizerthal

Número de Mensagens : 76
Idade : 22
Data de inscrição : 17/10/2013
Reputação : 0
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] Descer rampas

Mensagem por Sewer Crawler em Dom 12 Abr 2015, 21:43

Ao descer a rampa, a colisão se dá abaixo do player. E se vc colocasse na colisão : Player_Obj.y +1?

Sewer Crawler

Número de Mensagens : 236
Idade : 23
Data de inscrição : 08/10/2014
Reputação : 27
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] Descer rampas

Mensagem por fernando.munizerthal em Seg 13 Abr 2015, 01:23

Já tentei isso também, faz sentido.. Mas não funcionou..

Uma coisa que observei é que a cada 7 somado no x para andar a para a direita >>, ele fica acima da rampa muito mais que 1.. Certo?  Então talvez seja por isso que ele esteja dando os pulos, ele não colide com a rampa, ele simplesmente anda sete para a frente e cai.. Não está colando com a rampa como deveria..

Não sei o que fazer :X

-----EDITADO-----

Agradeço aos poucos que me deram alguma ajuda..
Consegui solucionar o problema, quem estiver interessado na solução me manda uma MP ;)

fernando.munizerthal

Número de Mensagens : 76
Idade : 22
Data de inscrição : 17/10/2013
Reputação : 0
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] Descer rampas

Mensagem por Conteúdo patrocinado Hoje à(s) 01: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