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
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ontem à(s) 11:43

» Colisões não funcionando
por theguitarmester Ontem à(s) 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

» 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

» 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


GM:S2 - Player Travando Horizontalmente no Chão

3 participantes

Ir para baixo

GM:S2 - Player Travando Horizontalmente no Chão Empty GM:S2 - Player Travando Horizontalmente no Chão

Mensagem por Joaquim Jr Seg 21 Jan 2019, 19:20

Olá, meus amigos! Estou enfrentando um problema muito grave num game de plataforma 2D que estou fazendo: quando o player aterrissa no chão, não consegue mais se movimentar para a direita e esquerda. O jogo, na verdade, nem tomou forma ainda. Estou enfrentando tal problema num arquivo do meu Game Maker Studio 2 Desktop que chamo de "Testes", o qual serve para que eu faça protótipos de games com suas programações. Vamos esclarecer, agora, algumas características desse game-teste:

1.0) Nome da Sprite e do Objeto do Player: "spr_player" e "obj_player", respectivamente.
1.1) Dimensões do Player: 64X64px.
1.2) Origem do Player: Top Left.
1.3) Máscara de Colisão do Player: Rectangle, em modo Automatic.
1.4) Está marcada a opção "solid" do respectivo objeto? Não.

2.0) Nome da Sprite e do Objeto dos Tiles do Chão: "spr_ghost_platform" e "obj_ghost_platform", respectivamente.
2.1) Dimensões dos Tiles do Chão: 64X64px.
2.2) Origem dos Tiles do Chão: Top Left.
2.3) Máscara de Colisão dos Tiles do Chão: Rectangle, em modo Automatic.
2.4) Está marcada a opção "solid" do respectivo objeto? Sim.
OBS: esses "Tiles do Chão" estão programados para serem plataformas fantasmas.

Agora, vamos a uma descrição mais detalhada do problema:

1) O player começa o game podendo perfeitamente se mover para a esquerda e direita.
2) Após pular, quando o player aterrissa no chão, não consegue mais se movimentar para a esquerda e direita.
3) Uma vez de volta ao chão, o player só conseguirá se movimentar para os lados se der outro pulo e enquanto estiver no ar.

Vamos, agora, visualizar todos os códigos utilizados em tal protótipo:

Código:
EVENTO "CREATE" DO OBJETO "PLAYER":
/// @description variáveis

velh=3; //velocidade horizontal

Código:
EVENTO "STEP" DO OBJETO "PLAYER":
/// @description movimentação

//movendo para esquerda
if keyboard_check(vk_left){
 x=x-velh;
}

//movendo para direita
if keyboard_check(vk_right){
 x=x+velh;
}

//pulando
if keyboard_check_pressed(vk_up){
 vspeed=-10;
 gravity=0.2;
}

Código:
EVENTO DE COLISÃO DO OBJETO "PLAYER" COM OS TILES DO CHÃO:
/// @description aterrissando

//fazendo a plataforma ser sólida
if(vspeed>=0){
 with(obj_ghost_platform){
 solid=true;
 }
 move_contact_solid(direction, 12);
 vspeed=0;
}

//fazendo a plataforma não ser sólida
if(vspeed<0){
 with(obj_ghost_platform){
 solid=false;
 }
}

É isso, meus amigos. Desde já, gostaria de agradecer muito a todos que puderem me ajudar. Qualquer coisa, se precisarem de mais detalhes, entrem em contato. Muito obrigado a todos!
Joaquim Jr
Joaquim Jr

Games Ranking : Sem avaliações

Data de inscrição : 15/11/2018
Reputação : 0
Número de Mensagens : 5
Prêmios : GM:S2 - Player Travando Horizontalmente no Chão 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

GM:S2 - Player Travando Horizontalmente no Chão Empty Re: GM:S2 - Player Travando Horizontalmente no Chão

Mensagem por None Sex 25 Jan 2019, 01:01

O problema é que você está usando o evento de colisão.

Esse evento só funciona se HÁ colisão, porém é possível que com a velocidade do seu jogador ele entre no objeto que ele está colidindo, aí o problema acontece.

O ideal seria fazer isso no step.

Eu tenho uma playlist no YouTube explicando como fazer um infinity runner, nela eu explico como fazer a colisão.
None
None

Games Ranking : Sem avaliações

Data de inscrição : 01/06/2018
Reputação : 0
Número de Mensagens : 21
Prêmios : GM:S2 - Player Travando Horizontalmente no Chão 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

GM:S2 - Player Travando Horizontalmente no Chão Empty Re: GM:S2 - Player Travando Horizontalmente no Chão

Mensagem por lucaslima92 Sex 25 Jan 2019, 10:25

Cara, só posso te dizer que "Jamais use SOLID para colisões de plataforma". Siga este tutorial e você vai ter um jogo agradável com uma ótima colisão.
Tutorial:
lucaslima92
lucaslima92

Games Ranking : Sem avaliações

Data de inscrição : 25/01/2019
Reputação : 1
Número de Mensagens : 3
Prêmios : GM:S2 - Player Travando Horizontalmente no Chão 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

GM:S2 - Player Travando Horizontalmente no Chão Empty Re: GM:S2 - Player Travando Horizontalmente no Chão

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