Entrar
Ú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
[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