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


Bug na Hora de Movimentar

4 participantes

Ir para baixo

Bug na Hora de Movimentar Empty Bug na Hora de Movimentar

Mensagem por Benitz Ter 15 Jan 2013, 23:05

Amiguinhos é o seguinte sente os códigos

Create

Código:
direita = true
andando = false
atacando = false
cima = true

image_speed = 0.4

Step

Código:
if (keyboard_check(vk_right)){//verifica se a seta direita foi apertada
    hspeed = 5;direita = true;andando = true
}else{
if (keyboard_check(vk_left)){ //verifica se a seta esquerda foi apertada
        hspeed = -5;direita = false;andando = true
    }else{// se não foi
        hspeed = 0;andando = false
    }
}

if (keyboard_check(vk_up)){//verifica se a seta cima foi apertada
    vspeed = -5;cima = true;andando = true
}else{
if (keyboard_check(vk_down)){//verifica se a seta baixo foi apertada
        vspeed = 5;cima = false;andando = true
    }else{// se não foi
        vspeed = 0;andando = false
    }
}

if direita = true {// se para direita
    if andando = true{//se estiver andando
        sprite_index = Spr_Mov_Dir
    }else{//se não estiver andando
        sprite_index = Spr_Mov_DirPar
    }
}

if direita = false {//se não estiver para direta (para esquerda)
    if andando = true{//se estiver andando   
        sprite_index = Spr_Mov_Esq
    }else{//se não estiver andando
        sprite_index = Spr_Mov_EsqPar
    }
}

if cima = true {// se para cima
    if andando = true{//se estiver andando
        sprite_index = Spr_Mov_Cima
    }else{//se não estiver andando
      sprite_index = Spr_Mov_CimaPar
    }
}

if cima = false {//se não estiver para cima (para baixo)
    if andando = true{ //se estiver andando
        sprite_index = Spr_Mov_Baixo
    }else{//se não estiver andando
        sprite_index = Spr_Mov_BaiPar
    }
}

O que acontece é o seguinte: O Movimento ta belezinha, funcionado legal, maaaaaaaaaaaaaaaaaaas, quando eu movimento para as laterais eles não mudam de Sprite, ficam na mesma que estava no ultimo movimento. Eu já mexi nesse código umas mil vezes, e nada, dai tive que apelar para vocês.

Aguardo Resposta Amiguinhos
Benitz
Benitz

Data de inscrição : 08/01/2013
Reputação : 1
Número de Mensagens : 132
Prêmios : Bug na Hora de Movimentar 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

http://www.gamersprobr.com

Ir para o topo Ir para baixo

Bug na Hora de Movimentar Empty Re: Bug na Hora de Movimentar

Mensagem por JoaoVanBlizzard Ter 15 Jan 2013, 23:25

é por que você ta especificando que andando é verdadeiro ou falso,em mais de um comando ,tipo assim existem duas ou mais especificaçoes que chamam o andando=false,por exemplo ,se você colocar if cima=false{andando=false} e e estiver precionando para esquerda ,haverá um conflito de duas funcões e isso resultará em bugs ,tente especificar uma função só para isso tipo apos os else
Código:

if cima = false {//se não estiver para cima (para baixo)
    if andando = true{ //se estiver andando
        sprite_index = Spr_Mov_Baixo
    }else{//se não estiver andando
        if keyboard_check(vk_nokey)  sprite_index = Spr_Mov_BaiPar}
}
     
faça o mesmo nas outras funçoes ,não sei se o resultado sera perfeito pq eu uso outros metodos para fazer movimentos mas tenta ai e ve no que dá ok ;)
JoaoVanBlizzard
JoaoVanBlizzard

Games Ranking : Nota B

Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios : Bug na Hora de Movimentar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity


Ir para o topo Ir para baixo

Bug na Hora de Movimentar Empty Re: Bug na Hora de Movimentar

Mensagem por Benitz Ter 15 Jan 2013, 23:38

JoaoVanBlizzard:

Testei aqui e o erro continua igual, mas muito obrigado pela ajuda, você falou que utiliza outro método de Movimento você tem um exemplo pra mim ver se melhor que o meu?

Agradesço
Benitz
Benitz

Data de inscrição : 08/01/2013
Reputação : 1
Número de Mensagens : 132
Prêmios : Bug na Hora de Movimentar 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

http://www.gamersprobr.com

Ir para o topo Ir para baixo

Bug na Hora de Movimentar Empty Re: Bug na Hora de Movimentar

Mensagem por L0l-King Qua 16 Jan 2013, 08:01

Tens que usar IF ELSE. Pare pra pensar comigo, se ele está andando pra direita, cima = false e andando = true, então ele cai naquele último IF.
É só usar IF ELSE neles e vai funcionar
L0l-King
L0l-King

Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios : Bug na Hora de Movimentar 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

Bug na Hora de Movimentar Empty Re: Bug na Hora de Movimentar

Mensagem por RafaelCazarotto Qua 16 Jan 2013, 08:06

acho que achei seu problema
if direita = true {// se para direita
if andando = true{//se estiver andando
sprite_index = Spr_Mov_Dir
}else{//se não estiver andando
sprite_index = Spr_Mov_DirPar
}
}

vc esta checando o esle no andando, então ele só fica com esse sprite Spr_Mov_DirPar se andando = false e direita = true


if andando = true{//se estiver andando
if direita = true {// se para direita
sprite_index = Spr_Mov_Dir
}else{//se não estiver andando
sprite_index = Spr_Mov_DirPar
}
} tenta mudar só esta parte e vai dar certo Very Happy
RafaelCazarotto
RafaelCazarotto

Games Ranking : Nota C

Notas recebidas : D-D-D-C-C-B
Data de inscrição : 15/03/2012
Reputação : 13
Número de Mensagens : 564
Prêmios : Bug na Hora de Movimentar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

Bug na Hora de Movimentar Empty Re: Bug na Hora de Movimentar

Mensagem por Benitz Qua 16 Jan 2013, 09:09

Amigos não sei o que pode ser mas tentei todos os modos que vocês me passaram e ainda não arrumou, acho que é conflito mesmo, porquê eu tirei as movimentação para cima e para baixo, e parou o bug de movimento da direita e esquerda, então tem algo na programação que não está correto.

Vou fazer mais testes na parte da tarde (porque estou escravizando agora) dai posto aqui se eu conseguir.

mas se alguém tiver algum método de movimentação para RPG e puder me ajudar eu agradesço (lembrando que eu utilizo sprites animadas para movimento Very Happy)

Vlw e obrigado a todos
Benitz
Benitz

Data de inscrição : 08/01/2013
Reputação : 1
Número de Mensagens : 132
Prêmios : Bug na Hora de Movimentar 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

http://www.gamersprobr.com

Ir para o topo Ir para baixo

Bug na Hora de Movimentar Empty Re: Bug na Hora de Movimentar

Mensagem por L0l-King Qua 16 Jan 2013, 12:43

Você tentou o que eu falei errado então.
Aqui como é que tem que ser o código, espero que agora enxergue o seu erro.

Código:

if direita = true {// se para direita
    if andando = true{//se estiver andando
        sprite_index = Spr_Mov_Dir
    }else{//se não estiver andando
        sprite_index = Spr_Mov_DirPar
    }
}else if direita = false {//se não estiver para direta (para esquerda)
    if andando = true{//se estiver andando   
        sprite_index = Spr_Mov_Esq
    }else{//se não estiver andando
        sprite_index = Spr_Mov_EsqPar
    }
}else if cima = true {// se para cima
    if andando = true{//se estiver andando
        sprite_index = Spr_Mov_Cima
    }else{//se não estiver andando
      sprite_index = Spr_Mov_CimaPar
    }
}else if cima = false {//se não estiver para cima (para baixo)
    if andando = true{ //se estiver andando
        sprite_index = Spr_Mov_Baixo
    }else{//se não estiver andando
        sprite_index = Spr_Mov_BaiPar
    }
}

Tem que usar o ELSE em TODAS as opções, ele só pode cair em uma delas, por isso precisa usar o ELSE em todas as opções. O uso de só duas variáveis (cima e direita) vai fazer o teu código se confundir e sempre executar ou o 3º ou o 4º IF.
L0l-King
L0l-King

Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios : Bug na Hora de Movimentar 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

Bug na Hora de Movimentar Empty Re: Bug na Hora de Movimentar

Mensagem por Benitz Qua 16 Jan 2013, 14:03

@L0l-King - Realmente estava tentando errado, não testei ainda esse jeito porque estou no trabalho, mas assim que chegar em casa vou testar e venho aqui informar se corrigiu. Agradeço muito sua ajuda.

Edit: Vlw pessoal por toda a ajuda, agora sim está funcionando perfeitamente Very Happy. Obrigado a todos
Benitz
Benitz

Data de inscrição : 08/01/2013
Reputação : 1
Número de Mensagens : 132
Prêmios : Bug na Hora de Movimentar 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

http://www.gamersprobr.com

Ir para o topo Ir para baixo

Bug na Hora de Movimentar Empty Re: Bug na Hora de Movimentar

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