Entrar
Últimos assuntos
» Servidor de Discord do fórum?por Super Games Ontem à(s) 01:27
» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10
» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
[RESOLVIDO] Possível problema com lógica
5 participantes
Página 1 de 1
[RESOLVIDO] Possível problema com lógica
Boa tarde Pessoal,
Estou enfrentando um problema no meu código. Talvez apenas um problema de lógica mesmo.
Meu código é o seguinte
No STEP do Objeto que representa o vento
Basicamente o que ele faz é simular um ventilador que fará o player ficar subindo enquanto está em contato com o "vento".
Ele está funcionando perfeitamente, até que eu coloque outro destes objetos na room.
Quando uso dois destes objetos na mesma sala, a parte que faz o player subir (a redução da vspeed funciona mas o desligamento da gravidade não. O que faz o player continuar caindo sem amortecer a queda.
Não intendo o por que disso.
Se auguem souber me responder ou precisar de mais informações é só pedir.
Valeu galerinha!!!
Estou enfrentando um problema no meu código. Talvez apenas um problema de lógica mesmo.
Meu código é o seguinte
No STEP do Objeto que representa o vento
- Código:
if place_meeting(x,y,obj_player)
{
//desativa a gravidade
global.gravidade="off"
//Faz o player subir
obj_player.vspeed-=0.3
}
if not place_meeting(x,y,obj_player)
{
//religa a gravidade
global.gravidade="on"
}
Basicamente o que ele faz é simular um ventilador que fará o player ficar subindo enquanto está em contato com o "vento".
Ele está funcionando perfeitamente, até que eu coloque outro destes objetos na room.
Quando uso dois destes objetos na mesma sala, a parte que faz o player subir (a redução da vspeed funciona mas o desligamento da gravidade não. O que faz o player continuar caindo sem amortecer a queda.
Não intendo o por que disso.
Se auguem souber me responder ou precisar de mais informações é só pedir.
Valeu galerinha!!!
Última edição por Mateus O de Andrade em Sex 13 Fev 2015, 17:32, editado 2 vez(es)
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [RESOLVIDO] Possível problema com lógica
tenta só colocar o else as vezes resolve n sei ;-;
- Código:
if place_meeting(x,y,obj_player)
{
//desativa a gravidade
global.gravidade="off"
//Faz o player subir
obj_player.vspeed-=0.3
} else
{
//religa a gravidade
global.gravidade="on"
}
Re: [RESOLVIDO] Possível problema com lógica
Infelizmente Alex, não só não funciona como não pode ter else. Pois eu tenho outros objetos que também usam essa mecânica de desligar a gravidade.
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [RESOLVIDO] Possível problema com lógica
hmmm, tenta fazer um sistema de estados então, tipo assim no create
state = `st_parado`
dai depois e só ir desenvolvendo:
no obj que faz o player voar STEP:
e outra vc meche com a gravidade só do player nao a gravidade global entende. cada objeto tem que ter sua gravidade o que vc pode fazer caso todos os objetos do game usem a gravidade global é colocar que a propria var, supondo gravidade = global.gravidade_global.
isso resolveria tenta ai e me fala.
state = `st_parado`
dai depois e só ir desenvolvendo:
no obj que faz o player voar STEP:
- Código:
if place_meeting(x,y,obj_player)
{
with(obj_player)
{
state = `st_voando`
}
}
e outra vc meche com a gravidade só do player nao a gravidade global entende. cada objeto tem que ter sua gravidade o que vc pode fazer caso todos os objetos do game usem a gravidade global é colocar que a propria var, supondo gravidade = global.gravidade_global.
isso resolveria tenta ai e me fala.
Re: [RESOLVIDO] Possível problema com lógica
O problema é que quando vc coloca dois objetos um ANULA o outro pois o player não pode estar em 2 lugares ao mesmo tempo, ou seja a variavel global fai ficar igual arvore de natal piscando ON e OFF. Para funcionar crie uma variavel dentro do player e verifique NO PLAYER se ele placemeeta um objeto vento.
Flws!
Flws!
Re: [RESOLVIDO] Possível problema com lógica
Realmente a lógica mata.
Você praticamente fez "se e senão" no seu código. Ou seja, se não está colidindo liga gravidade, senão está desliga.
Uma das condições sempre vai estar ocorrendo. Então caso o player não estiver em contato com alguma das instâncias de vento, a variável global.gravidade vai ser "on".
Se você criar 3 ventos, o valor final da variável será o do último vento criado.
Ou seja, você colidiu com o primeiro vento a variável é setada para "off", ai ao mesmo tempo você não está colidindo com o segundo vento então a variável segundo a condição é trocada pra "on". E o mesmo se aplica ao terceiro vento.
Então em vez de usar esse código no vento use este somente no player:
FLWS!
Você praticamente fez "se e senão" no seu código. Ou seja, se não está colidindo liga gravidade, senão está desliga.
Uma das condições sempre vai estar ocorrendo. Então caso o player não estiver em contato com alguma das instâncias de vento, a variável global.gravidade vai ser "on".
Se você criar 3 ventos, o valor final da variável será o do último vento criado.
Ou seja, você colidiu com o primeiro vento a variável é setada para "off", ai ao mesmo tempo você não está colidindo com o segundo vento então a variável segundo a condição é trocada pra "on". E o mesmo se aplica ao terceiro vento.
Então em vez de usar esse código no vento use este somente no player:
- Código:
if place_meeting(x, y, vento)
{
global.gravidade = "off";
vspeed -= 0.3;
}
else
{
global.gravidade = "on";
}
FLWS!
Re: [RESOLVIDO] Possível problema com lógica
Como eu havia dito acima, só não coloquei o código pro nosso amigo se aperfeiçoar heheheAlex FC escreveu:Realmente a lógica mata.
Você praticamente fez "se e senão" no seu código. Ou seja, se não está colidindo liga gravidade, senão está desliga.
Uma das condições sempre vai estar ocorrendo. Então caso o player não estiver em contato com alguma das instâncias de vento, a variável global.gravidade vai ser "on".
Se você criar 3 ventos, o valor final da variável será o do último vento criado.
Ou seja, você colidiu com o primeiro vento a variável é setada para "off", ai ao mesmo tempo você não está colidindo com o segundo vento então a variável segundo a condição é trocada pra "on". E o mesmo se aplica ao terceiro vento.
Então em vez de usar esse código no vento use este somente no player:
- Código:
if place_meeting(x, y, vento)
{
global.gravidade = "off";
vspeed -= 0.3;
}
else
{
global.gravidade = "on";
}
FLWS!
Flws!
Re: [RESOLVIDO] Possível problema com lógica
Mas não vai funcionar mesmo... Veja bem, você colocou a seguinte condição no step do vento:
Por se tratar de a variável global, outros objetos podem alterar a qualquer momento, no caso, o vento extra! Afinal, de acordo com o código, ele tem que ligar a gravidade.
O correto é você tirar o código do vento e colocar no jogador, substituindo o place_metting(x,y,obj_player) por place_metting(x,y,obj_vento).
Se o jogador esta aqui{
Desligou a gravidade
}se não estiver{
Ligo a gravidade
}
Por se tratar de a variável global, outros objetos podem alterar a qualquer momento, no caso, o vento extra! Afinal, de acordo com o código, ele tem que ligar a gravidade.
O correto é você tirar o código do vento e colocar no jogador, substituindo o place_metting(x,y,obj_player) por place_metting(x,y,obj_vento).
Re: [RESOLVIDO] Possível problema com lógica
Se lascar vinians!
Apareceu aviso de nova mensagem, e eu não ia excluir minha tão elaborada mensagem neh?
De qualquer forma quanto mais ajuda melhor.
Edit: Vá se lascar você também Willy!
FLWS!
Apareceu aviso de nova mensagem, e eu não ia excluir minha tão elaborada mensagem neh?
De qualquer forma quanto mais ajuda melhor.
Edit: Vá se lascar você também Willy!
FLWS!
Re: [RESOLVIDO] Possível problema com lógica
Temos aqui em caso curioso... Três respostas com sentido idêntico postadas na mesma hora...
Meu amigo Matheus... Se não for essa a solução, desista do projeto.
Meu amigo Matheus... Se não for essa a solução, desista do projeto.
Re: [RESOLVIDO] Possível problema com lógica
Meus queridos colegas,
FICOU MUITO FODA ESSA BAGAÇA!!!!!! UAHShaUsu
Só não teve 4 respostas por que eu não salvei minha última Willy UASHuhuAShuashu
Galera, eu SABIA que tinha que ser problema na lógica!! Aos meus quatro colegas (sim, você também Alex ;) ) fiz a correção e AGORA O BIXO VAI PEGAAAAAAAAAAA!!!!
Valeu maninhos muito obrigado!!!!
FICOU MUITO FODA ESSA BAGAÇA!!!!!! UAHShaUsu
Só não teve 4 respostas por que eu não salvei minha última Willy UASHuhuAShuashu
Galera, eu SABIA que tinha que ser problema na lógica!! Aos meus quatro colegas (sim, você também Alex ;) ) fiz a correção e AGORA O BIXO VAI PEGAAAAAAAAAAA!!!!
Valeu maninhos muito obrigado!!!!
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [RESOLVIDO] Possível problema com lógica
4 Colegas.....AlexBosquin, vinian, Alex FC e Willy...
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [RESOLVIDO] Possível problema com lógica
Eu tava achando que tu tava louco citando o AlexBosquin. Quando postei minha mensagem, subi e pensei ter só o vinians. Tenho que trocar de óculos kkk
Se lasque também meu xará!
Trancado!
FLWS!
Se lasque também meu xará!
Trancado!
FLWS!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|