Entrar
Últimos assuntos
» player não consegue andarpor 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
Página 1 de 1
Bug na Hora de Movimentar
Amiguinhos é o seguinte sente os códigos
Create
Step
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
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
Re: Bug na Hora de Movimentar
é 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}
}
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: Bug na Hora de Movimentar
- JoaoVanBlizzard:
- é por que você ta especificando que andando é verdadeiro ou falso,em mais de um comando ,tipo assim...
- 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}
}
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
Re: Bug na Hora de Movimentar
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
É só usar IF ELSE neles e vai funcionar
L0l-King- Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Bug na Hora de Movimentar
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
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
RafaelCazarotto- Games Ranking :
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 :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: Bug na Hora de Movimentar
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 )
Vlw e obrigado a todos
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 )
Vlw e obrigado a todos
Re: Bug na Hora de Movimentar
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.
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.
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- Data de inscrição : 04/04/2010
Reputação : 1
Número de Mensagens : 148
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Bug na Hora de Movimentar
@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 . Obrigado a todos
Edit: Vlw pessoal por toda a ajuda, agora sim está funcionando perfeitamente . Obrigado a todos
Tópicos semelhantes
» galera como que faz que na hora que o personagem pula na hora que ele encosta com o chão ele muda de sprite par ao parado
» Movimentar a room ou view
» Movimentar mesmo em colisão (top-down)
» [Resolvido]Movimentar a view
» Como Movimentar inimigos
» Movimentar a room ou view
» Movimentar mesmo em colisão (top-down)
» [Resolvido]Movimentar a view
» Como Movimentar inimigos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos