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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» 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

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Dúvida urgente!!! Por favor me ajudem!

4 participantes

Ir para baixo

Dúvida urgente!!! Por favor me ajudem! Empty Dúvida urgente!!! Por favor me ajudem!

Mensagem por CassioCuri Qui 15 Abr 2010, 00:59

Galera é o seguinte... estou terminando meu jogo para a faculdade e preciso entregá-lo hoje a noite... Entre alguns bugs e outros, tem um que está afetando a jogabilidade dele...

O jogo é plataforma e quando o inimigo me ataca, se eu estiver parado meu personagem sofre dano e a animação dele (tomando dano) é acionada.

Eu coloquei uma variavel de controle, para que quando ele seja atingido, ela torna-se 1 e, enquanto estiver 1, o personagem não pode se mover...

Pois bem, quando estou parado tudo funciona perfeitamente e eu não consigo mover meu personagem até que a animação de dano acabe.

Mas se por acaso eu estiver pressionando algum dos botões de movimento quando for atingido, meu personagem congela, e se eu apertar diversas vezes o botao de movimento, ele fica como se fosse em um loop, não deixando meu personagem se mover e nem acionar a animacao de dano.

Se eu soltar o botao de movimento, a animacao acontece e, assim que ele volta ao normal, tudo se normaliza.

Eu ja chequei e os códigos estão tudo OK. Se por acaso eu aperto o botão de movimento logo depois de ter sido atingido, por mais que o personagem nao se mova a animação acontece.

O problema acontece e persiste se eu continuar apertando o botao de movimento antes e depois de ser atingido, ou seja, o problema é que o botao de movimento está impedindo que a animacao de dano ocorra, se ele estiver pressionado, porém eu ja havia colocado uma variavel de controle para que, quando o dano aconteca (e a variavel de dano torna-se 1), um IF no botao de movimento impede que qualquer coisa aconteça, mas o simples fato de eu apertar o botao de movimento antes, esta travando tudo... não sei se deu para entender...

Eu queria saber se nao existe algum mecanismo para impedir que o key press interfira no evento animation end / any key / no key event...

Sou novo no fórum, espero que alguem tenha experiencia com esse tipo de problema hehe...

Abraços!
CassioCuri
CassioCuri

Data de inscrição : 15/04/2010
Reputação : 0
Número de Mensagens : 6
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por vinians Qui 15 Abr 2010, 09:36

Amigo, como o seu projeto está completo e a engine está pronta vai ser um pouco dificil te ajudar, pois seu código deve esta bem complexo a essa altura.

Mais voce colocou mascara no seu char principal?

Muitas vezes esse travamento é devido a falta de mascara pois quando o sprite muda de forma ele pode mudar a colisão. Desligue o Precise Colision Check tambem.
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 : 2715
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por CassioCuri Qui 15 Abr 2010, 11:09

vinians escreveu:Amigo, como o seu projeto está completo e a engine está pronta vai ser um pouco dificil te ajudar, pois seu código deve esta bem complexo a essa altura.

Mais voce colocou mascara no seu char principal?

Muitas vezes esse travamento é devido a falta de mascara pois quando o sprite muda de forma ele pode mudar a colisão. Desligue o Precise Colision Check tambem.

Eu não sei usar máscara...

Mas o problema não é de colisão (apesar de isso estar enxendo o saco quando pulo em algumas plataformas e meu personagem trava...)

Eu tirei o precise colision check e o separate collision masks e dai ele considera meu personagem um grande quadrado... quando vou pular entre espaços curtos (mas do tamanho do personagem) ele não passa! isso me irrita...

Mas não é esse o problema, eu estou achando que é alguma mecânica do game maker que trava um evento quando eu aciono outro... =x
CassioCuri
CassioCuri

Data de inscrição : 15/04/2010
Reputação : 0
Número de Mensagens : 6
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por vinians Qui 15 Abr 2010, 13:05

CassioCuri escreveu:

Eu não sei usar máscara...

Mas o problema não é de colisão (apesar de isso estar enxendo o saco quando pulo em algumas plataformas e meu personagem trava...)

Eu tirei o precise colision check e o separate collision masks e dai ele considera meu personagem um grande quadrado... quando vou pular entre espaços curtos (mas do tamanho do personagem) ele não passa! isso me irrita...

Mas não é esse o problema, eu estou achando que é alguma mecânica do game maker que trava um evento quando eu aciono outro... =x
Para usar mascara, crie um sprite na forma mais parecida com o seu char e depois coloque na propriedade do objeto Mask.

Quanto a ele considerar como quadrado, voce pode ir reduzindo o quadro de bounding box até ficar bem pequeno, dai ele vai passar nos espaços mais curtos. Para fazer isso basta clicar em Mask la no sprite e depois seleciona Manual. Depois basta ajustar no quadro abaixo.

Eu desconheço essa "mecanica que trava" creio que não é isso. Provavelmente é um bug mesmo no seu codigo ou o esquema de mascara que eu te falei.
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 : 2715
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por CassioCuri Qui 15 Abr 2010, 13:31

vinians escreveu:
CassioCuri escreveu:

Eu não sei usar máscara...

Mas o problema não é de colisão (apesar de isso estar enxendo o saco quando pulo em algumas plataformas e meu personagem trava...)

Eu tirei o precise colision check e o separate collision masks e dai ele considera meu personagem um grande quadrado... quando vou pular entre espaços curtos (mas do tamanho do personagem) ele não passa! isso me irrita...

Mas não é esse o problema, eu estou achando que é alguma mecânica do game maker que trava um evento quando eu aciono outro... =x
Para usar mascara, crie um sprite na forma mais parecida com o seu char e depois coloque na propriedade do objeto Mask.

Quanto a ele considerar como quadrado, voce pode ir reduzindo o quadro de bounding box até ficar bem pequeno, dai ele vai passar nos espaços mais curtos. Para fazer isso basta clicar em Mask la no sprite e depois seleciona Manual. Depois basta ajustar no quadro abaixo.

Eu desconheço essa "mecanica que trava" creio que não é isso. Provavelmente é um bug mesmo no seu codigo ou o esquema de mascara que eu te falei.

Acho que essa máscara pode resolver o problema da colision então, mas por exemplo, o meu personagem tem uma animacao de ataque com uma espada, e eu trato todo seu corpo como colisao na hora de considerar onde está sendo causado o dano... a máscara não iria interferir nisso?

Vou dar uma olhada aqui para ver se aprendo mais sobre ela... se puder me explicar mais detalhadamente agradeço.

Grato pela ajuda!
CassioCuri
CassioCuri

Data de inscrição : 15/04/2010
Reputação : 0
Número de Mensagens : 6
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por Denis Lemos Qui 15 Abr 2010, 13:35

Você disse que criou uma variável de controle que fica =1 quando leva dano e =0 quando termina o dano, então lá no evento que você faz para o movimento você tem que colocar uma condição para o movimento acontecer só se não tiver levando dano, se for no Evento Keyboard ou o que for, coloque:
Código:

if nome_veriavel_dano=0
{
 
    // Seu código de movimento

}

Em " nome_variavel_dano " você troca pelo nome da sua variável de controle, então assim o objeto só vai se mover quando não estiver levando dano
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por CassioCuri Qui 15 Abr 2010, 13:45

Denis Lemos escreveu:Você disse que criou uma variável de controle que fica =1 quando leva dano e =0 quando termina o dano, então lá no evento que você faz para o movimento você tem que colocar uma condição para o movimento acontecer só se não tiver levando dano, se for no Evento Keyboard ou o que for, coloque:
Código:

if nome_veriavel_dano=0
{
 
    // Seu código de movimento

}

Em " nome_variavel_dano " você troca pelo nome da sua variável de controle, então assim o objeto só vai se mover quando não estiver levando dano

Eu já fiz isso, já existe uma variável de controle... o personagem nao se movimenta, o que acontece é que a variavel que indica que ele tomou dano continua como 1, quando no Animation End (apos a animacao de dano acabar), ele seta de volta para 0.

Acontece que se eu estou andando e tomo o dano, a animacao nao ocorre porque o outro evento de andar (press key) está acionado, porém este evento só funciona se a variavel de dano estiver 0.
Ou seja, meu personagem toma dano a variavel isDamaged vai para 1
mas como o botao de walk estava pressionado, a animacao de damage nao acontece.

No botao de walk, todas as ações estao dentro de um if isDamaged == 0, então nada deveria acontecer se o botao está / estiver pressionado.

Mas o simples fato de eu apertar o botao faz com que a animacao nao ocorra...

a animacao de dano ocorre em dois eventos -> any key / no key events. Minha intenção era ativar a animação de dano independente de eu estar parado (no key) ou andando (any key) ou realizando qualquer outra ação. Mas não está funcioanndo porque eu acho que ele fica entrando no if do key press event quando o bota esta pressioando, mesmo que ele não vá realizar nada (pois o isDamaged está 1)...

ele fica verificando o if do Key press ao invés de realizar a animação de dano... acho que é isso que está acontecendo...

ou seja, o if impede que ele se mova, mas o simples fato do botao de andar estar sendo pressionado, durante o ataque, faz com que ele fique verificando o IF... e ai ele trava o personagem...

é meio complicado mas acho que é exatamente isso que ta acontecendo...
CassioCuri
CassioCuri

Data de inscrição : 15/04/2010
Reputação : 0
Número de Mensagens : 6
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por Denis Lemos Qui 15 Abr 2010, 14:04

Então não é no movimento o problema, e sim onde você troca as sprite do objeto !

Mas seria melhor você colocar os principais código que usa para essas ações, senão não tem como adivinhar onde está o erro !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por CassioCuri Qui 15 Abr 2010, 15:42

Denis Lemos escreveu:Então não é no movimento o problema, e sim onde você troca as sprite do objeto !

Mas seria melhor você colocar os principais código que usa para essas ações, senão não tem como adivinhar onde está o erro !


Como eu disse, não usei codigo no meu jogo, fiz atraves dos actions icons la...
Vou ver se envio mais tarde as fotos ou até mesmo o projeto, no momento esta corrido e acho que nao vai dar tempo de corrigir o bug... pois so tenho mais 1h e pouco para terminar... mas de noite eu passo com calma pois quero saber onde estou errando...

Ainda acho que nao é problema no sprite, pois o erro só ocorre enquanto estou andando, e quando tomo o dano é impossivel andar pois a variavel nao permite! Ele não deveria travar e sim acionar a animacao...
CassioCuri
CassioCuri

Data de inscrição : 15/04/2010
Reputação : 0
Número de Mensagens : 6
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por Janx Sex 16 Abr 2010, 14:05

Intão ele ta correndo, toma dano, ele para, mas a animação correndo continua.
Se eu soltar o botão de correr, a animação correndo para e a animação de dano aparece, depois que ela acaba tudo volta ao "normal"?

Provavelmente é que você está deixando trocar sprite mesmo quando ele esta levando dano.
Verifique onde você fez para ele mudar para o sprite de correr, se você colocou um IF para não executar caso ele tenha levado dano.
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Dúvida urgente!!! Por favor me ajudem! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

Mensagem por CassioCuri Sex 16 Abr 2010, 14:11

Janx escreveu:Intão ele ta correndo, toma dano, ele para, mas a animação correndo continua.
Se eu soltar o botão de correr, a animação correndo para e a animação de dano aparece, depois que ela acaba tudo volta ao "normal"?

Provavelmente é que você está deixando trocar sprite mesmo quando ele esta levando dano.
Verifique onde você fez para ele mudar para o sprite de correr, se você colocou um IF para não executar caso ele tenha levado dano.

Eu criei dois eventos any key e no key para acontecerem independente do contexto do jogo.

A animação de damage ocorre nesses eventos:

if isDamage == 1

Dai ele ativa a animação de damage e da um endAnimation 1

o endAnimation 1 existe no evento Animation End e ele faz com que o jogador volte ao sprite parado.

Se eu não estou apertando a tecla A ou D (key press) que sao as teclas que eu uso para andar para esquerda e direita, respectivamente, quando o persoangem sofre o dano, o isDamage seta pra 1 e a animação no any key / no key event é ativada, assim como o endAnimation 1.

Acabando a animação de damage, no Animation End ele entra no if do endAnimation e faz o sprite voltar ao normal.

Isso com meu personagem parado.

Se eu estou andando e tomo o dano, o personagem trava.

Existe uma condição que engloba tudo no key press A e D, um if isDamaged = 0.

Ou seja, se ele nao está com dano, o personagem pode se mover, se nao, nada acontece.

Ou nada deveria acontecer....

Mas a animação do any key / no key não é ativada porque o key press está ativo... acho que é isso que acontece, mesmo que o if isDamaged seja FALSE...

estranho...
CassioCuri
CassioCuri

Data de inscrição : 15/04/2010
Reputação : 0
Número de Mensagens : 6
Prêmios : Dúvida urgente!!! Por favor me ajudem! 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

Dúvida urgente!!! Por favor me ajudem! Empty Re: Dúvida urgente!!! Por favor me ajudem!

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