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]Bug na colisão dos sprites
3 participantes
Página 1 de 1
[Resolvido]Bug na colisão dos sprites
Oi , sou novo no Game Maker e recentemente fui fazer um projeto para por em prática oque tinha aprendido até que me deparei com um bug que não consegui resolver. Se puderem me ajuda , o erro é o seguinte: Quando eu vou correr com meu personagem ele fica flutuando no ar , olha:
Ele fica colidindo normalmente sem a animação de correr e parado com a animação também fica d boa:
Meu codigo:
key_left = keyboard_check(vk_left);
key_right = keyboard_check(vk_right);
key_jump = keyboard_check_pressed(vk_space);
//movimento
var _move = key_right - key_left;
hsp = _move * walksp;
vsp = vsp + grv;
if (place_meeting(x,y+1,parede))&(key_jump)
{
vsp = - jumpsp;
}
//colisao
if (place_meeting(x+hsp,y,parede))
{
while(!place_meeting(x+sign(hsp),y,parede))
{
x=x+sign(hsp);
}
hsp=0
}
x = x + hsp;
if (place_meeting(x,y+vsp,parede))
{
while(!place_meeting(x,y+sign(vsp),parede))
{
y=y+sign(vsp);
}
vsp=0
}
y=y+vsp;
//Animação
if(!place_meeting(x,y+1,parede))
{
sprite_index=jump;
image_speed=0;
if(vsp>0) image_index=1 ;else image_index=0;
}
else
{
image_speed=1;
if(hsp==0)
{
sprite_index=parado;
}
else
{
sprite_index=correndo;
}
}
if (hsp !=0) image_xscale = sign(hsp)
Ele fica colidindo normalmente sem a animação de correr e parado com a animação também fica d boa:
Meu codigo:
key_left = keyboard_check(vk_left);
key_right = keyboard_check(vk_right);
key_jump = keyboard_check_pressed(vk_space);
//movimento
var _move = key_right - key_left;
hsp = _move * walksp;
vsp = vsp + grv;
if (place_meeting(x,y+1,parede))&(key_jump)
{
vsp = - jumpsp;
}
//colisao
if (place_meeting(x+hsp,y,parede))
{
while(!place_meeting(x+sign(hsp),y,parede))
{
x=x+sign(hsp);
}
hsp=0
}
x = x + hsp;
if (place_meeting(x,y+vsp,parede))
{
while(!place_meeting(x,y+sign(vsp),parede))
{
y=y+sign(vsp);
}
vsp=0
}
y=y+vsp;
//Animação
if(!place_meeting(x,y+1,parede))
{
sprite_index=jump;
image_speed=0;
if(vsp>0) image_index=1 ;else image_index=0;
}
else
{
image_speed=1;
if(hsp==0)
{
sprite_index=parado;
}
else
{
sprite_index=correndo;
}
}
if (hsp !=0) image_xscale = sign(hsp)
Última edição por chromegamer7 em Sex 17 Jul 2020, 15:57, editado 1 vez(es)
chromegamer7- Games Ranking :
Data de inscrição : 16/07/2020
Reputação : 0
Número de Mensagens : 13
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Bug na colisão dos sprites
Opa, seja bem-vindo(a) ao fórum @chromegamer7 ! :]
O problema possivelmente está na área de colisão do seu sprite, possivelmente a área de colisão dele está pegando também a área transparente, você pode resolver isso ajustando as opções que aparecem por lá, estou sem o GMS2 mas é aqui onde ficam as opções da Collision Mask(Na caixa vermelha):
Arte da documentação do Game Maker Studio 2
Se ainda não funcionar, manda um print que ajuda a ter uma ideia do que está acontecendo!
O problema possivelmente está na área de colisão do seu sprite, possivelmente a área de colisão dele está pegando também a área transparente, você pode resolver isso ajustando as opções que aparecem por lá, estou sem o GMS2 mas é aqui onde ficam as opções da Collision Mask(Na caixa vermelha):
Arte da documentação do Game Maker Studio 2
Se ainda não funcionar, manda um print que ajuda a ter uma ideia do que está acontecendo!
chromegamer7- Games Ranking :
Data de inscrição : 16/07/2020
Reputação : 0
Número de Mensagens : 13
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Bug na colisão dos sprites
Amigão bem vindo ao fórum!
Quanto ao seu problema, é o seguinte, como você usar sequencias de animação diversas, você precisa usar "Collision Masks" a nível de objeto.
Vá até o seu objeto, onde está:
Collision Mask, selecione um objeto para usar como mascara.
Eu te aconselho a criar um sprite do tamanho da médias das animações.
Fazendo isso, quando o sprite_index mudar, a mascara não vai mudar e não vai dar esse erro.
Flws!
Quanto ao seu problema, é o seguinte, como você usar sequencias de animação diversas, você precisa usar "Collision Masks" a nível de objeto.
Vá até o seu objeto, onde está:
Collision Mask, selecione um objeto para usar como mascara.
Eu te aconselho a criar um sprite do tamanho da médias das animações.
Fazendo isso, quando o sprite_index mudar, a mascara não vai mudar e não vai dar esse erro.
Flws!
chromegamer7- Games Ranking :
Data de inscrição : 16/07/2020
Reputação : 0
Número de Mensagens : 13
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Bug na colisão dos sprites
Certo, pelo que vejo você usa sua própria rotina de colisao usando o place_meeting(), tente desligar o "Solid" no objeto, ele pode estar te atrapalhando.
Flws!
Flws!
Re: [Resolvido]Bug na colisão dos sprites
Man acabei de resolve aqui , eu acabei mexendo em todas as Collision Mask por algum motivo , então eu só recoloquei os sprites. Mas muito obrigado ao pessoal que tento ajudar:abraco:
chromegamer7- Games Ranking :
Data de inscrição : 16/07/2020
Reputação : 0
Número de Mensagens : 13
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Bug na colisão dos sprites
Que bom que você consegiu!
Para que o tópico possa ser útil a outros desenvolvedores e para que todos saibamos que já foi resolvido, edite o seu título e coloque [RESOLVIDO] antes da pergunta. Obrigado!
Flws!
Para que o tópico possa ser útil a outros desenvolvedores e para que todos saibamos que já foi resolvido, edite o seu título e coloque [RESOLVIDO] antes da pergunta. Obrigado!
Flws!
Tópicos semelhantes
» [RESOLVIDO] Colisão com sprites externos
» Colisao com determinadas sprites
» pong outra vez(problema de colisao e sprites)
» [HTML5][Minilib] Movimento, sprites, colisão
» URGENTE - troca de sprites, colisão e destroy instance !
» Colisao com determinadas sprites
» pong outra vez(problema de colisao e sprites)
» [HTML5][Minilib] Movimento, sprites, colisão
» URGENTE - troca de sprites, colisão e destroy instance !
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos