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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

[RESOLVIDO] Bug com place_free

em Ter 15 Abr 2014, 15:39
Boa tarde pessoal,
Estou usando um código para fazer um pulo mas reparei que tem um problema mas que não sei resolver sozinho.

Meu código é esse:

Código:
Create

gravity=0.5
gravity_direction=270

vel=4

---------------------------

Step

if keyboard_check(vk_right) and place_free(x+2,y){
x+=vel}
if keyboard_check(vk_left) and place_free(x-2,y){
x-=vel}
if keyboard_check(vk_up){vspeed=-10

}

if ( not place_free(x, y + vspeed))
{
move_contact_solid(270, 10)
gravity = 0
vspeed = 0  

} else {
gravity = 1
}

Quando uso ele assim como está, meu personagem pula mas não anda e, se removo o "not" ele anda mas não pula!
Venho corrigindo meu código faz algum tempo, usando ideias e dicas que encontro em diversos trechos de código mas agora já
não sei o que tenho de alterar.

Desde já se alguém puder dar uma ajudinha agradeço.


Última edição por Markituh em Ter 15 Abr 2014, 20:45, editado 2 vez(es) (Razão : Problema resolvido)
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Ter 15 Abr 2014, 16:16
Código:
if ( not place_free(x, y + vspeed[b]+1[/b]))

Não resolve?
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Ter 15 Abr 2014, 16:28

Não, a menos que eu tenha esquecido ou não alterado alguma parte.
A propósito PedroX, o que exatamente você fez? Gostaria de saber mesmo assim.
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Ter 15 Abr 2014, 17:34
Olhe melhor para o código que o PedroX colocou... Ele só acrescentou um +1 naquela linha, só que ele tentou deixar em negrito dentro do code e ficou com a tag ali ([­b][­/b])...
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Ter 15 Abr 2014, 17:47
Não é querendo esculachar ninguem pelo Amor de Deus hein, antes de me alertar ai pow saiba que de primeira eu tb não tinha reparado, mas que foi engraçada foi, rachei aqui.

lol!  lol!  lol!
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Ter 15 Abr 2014, 17:51
affraid DEU CERTO! ahahhahahahaha
Mas, será que daria para me explicar o por que desse erro?
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: [RESOLVIDO] Bug com place_free

em Ter 15 Abr 2014, 20:45
Reputação da mensagem: 100% (1 votos)
O place_free vai checar se a mask/bounding box da sprite colide com algo sólido de forma relativa. É como se ele movesse virtualmente a sprite do seu personagem para as coordenadas indicadas, e verifica se há colisão. Mais informações [aqui]. O problema que houve aí é que,  o [not] nunca ia retornar true pois você estava checando nas coordenadas atuais do player! Daí como a condição do if se invalidava, ele executava o else e definia a gravidade, daí o porque de você não conseguir andar.

 Então surge o infame +1, para salvar a humanidade da destruição e fazer com que seu player não dê bug yes
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Qua 16 Abr 2014, 16:30
Reputação da mensagem: 100% (1 votos)


O seu bug ocorre porque você não verifica se há condições de aumentar a vspeed.

Edit: uma correção na imagem: em vez de 212, é 211.
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Qua 16 Abr 2014, 16:42
É pessoal, valeu pela ajuda, consegui não só resolver...entendi, e aprendi mais com os tutoriais sobre Colisão (que a propósito, se eu tivesse lido antes não teria criado esse post....my bad!!!). Valeu a atenção pessoal.
Por falar nos tutoriais, obrigado PedroX pelo tutorial sobre Collision_line, eu estava criando uma AI de inimigo ontem e hoje !!! a resposta veio logo que li o seu material! Se tudo der certo vai ficar muito bom Very Happy
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Qua 16 Abr 2014, 17:02
Recomendo o Manual das colisões: http://gmbr.forumeiros.com/t16184-
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: [RESOLVIDO] Bug com place_free

em Qua 16 Abr 2014, 17:08
Era à este mesmo que me referia. Também estou lendo o do ALEX FC muito bem lembrado pelo Markituh que também recomendo.
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