GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[RESOLVIDO] Possível problema com lógica

5 participantes

Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty [RESOLVIDO] Possível problema com lógica

Mensagem por Mateus O de Andrade Sex 13 Fev 2015, 16:27

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
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
Mateus O de Andrade

Games Ranking : Nota D

Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por AlexBosquin Sex 13 Fev 2015, 16:31

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"
}
AlexBosquin
AlexBosquin

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/07/2012
Reputação : 35
Número de Mensagens : 621
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.craftstudios.com.br

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por Mateus O de Andrade Sex 13 Fev 2015, 16:36

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
Mateus O de Andrade

Games Ranking : Nota D

Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por AlexBosquin Sex 13 Fev 2015, 16:41

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:
Código:

if place_meeting(x,y,obj_player)
{
      with(obj_player)
      {
            state = `st_voando`
      }
}
agora no obj_player vc define o que acontece quando o estado for 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.
AlexBosquin
AlexBosquin

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/07/2012
Reputação : 35
Número de Mensagens : 621
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.craftstudios.com.br

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por vinians Sex 13 Fev 2015, 16:45

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!
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por All-x Sex 13 Fev 2015, 16:47

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!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por vinians Sex 13 Fev 2015, 16:50

Alex 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!
Como eu havia dito acima, só não coloquei o código pro nosso amigo se aperfeiçoar hehehe
Flws!
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por Willy Sex 13 Fev 2015, 16:54

Mas não vai funcionar mesmo... Veja bem, você colocou a seguinte condição no step do 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. investigador

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).
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por All-x Sex 13 Fev 2015, 16:54

Se lascar vinians! Happy

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! [RESOLVIDO] Possível problema com lógica 838487

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por Willy Sex 13 Fev 2015, 17:00

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. [RESOLVIDO] Possível problema com lógica 71423
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por Mateus O de Andrade Sex 13 Fev 2015, 17:15

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!!!!
Mateus O de Andrade
Mateus O de Andrade

Games Ranking : Nota D

Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por Willy Sex 13 Fev 2015, 17:17

Uh.... Temos dois Alex aqui. :]
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por Mateus O de Andrade Sex 13 Fev 2015, 17:19

[RESOLVIDO] Possível problema com lógica 776770 4 Colegas.....AlexBosquin, vinian, Alex FC e Willy...
Mateus O de Andrade
Mateus O de Andrade

Games Ranking : Nota D

Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por All-x Sex 13 Fev 2015, 17:34

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!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : [RESOLVIDO] Possível problema com lógica Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

[RESOLVIDO] Possível problema com lógica Empty Re: [RESOLVIDO] Possível problema com lógica

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos