Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj

Mensagem por Maker em Qua 16 Fev 2011, 21:52

Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj.

Estou fazendo um jogo de tetris.
Então quando a peça colidir com o 'chão' do cenário, ele deverá parar de se movimentar e talz.

Estou bolando alguma coisa para os comandos do player só funcionarem enquanto a peça ainda não entrar em colisão.
Mas enquanto isso, gostaria de saber como fazer a peça paralizar ao tocar no chão, mesmo que seja apertado os botões de ação

Maker

Número de Mensagens : 51
Data de inscrição : 09/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj

Mensagem por Gabreel em Qua 16 Fev 2011, 21:57

Aí depende... Como você faz a descida das peças? Tradicionalmente (aumentando o y), ou por gravidade?

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj

Mensagem por Maker em Qua 16 Fev 2011, 22:05

Aperta a seta para baixou o espaço para ir mais rapido.

Mas é descendo no Y mesmo.

Mas quando chega no chão, se e apertar a seta de ir para o lado, a peça vai para o lado..

Maker

Número de Mensagens : 51
Data de inscrição : 09/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj

Mensagem por Markituh em Qua 16 Fev 2011, 22:08

Crie um variável para controlar a colisão. Quando colidir com o objeto, coloque esta variável como true. Então no movimento do bloco, coloque para mover apenas se a variável estiver false, isolando numa condição.
Código:
if colodiu = false
{
// Movimentos aqui
}
Ou seja, já que quando colodir com um bloco ele vai ficar com a variável true, não irá mover de forma alguma.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj

Mensagem por Gabreel em Qua 16 Fev 2011, 22:09

Código:

CREATE da peça
Can_move=true

STEP
if place_free(x,y+2){y-=???;Can_move=false;}

EVENTOS de KEYBOARD
if(Can_move=true){move O_O}

Provavelmente dará certo.

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj

Mensagem por Maker em Qua 16 Fev 2011, 22:26

Obrigado deu certo,

Maker

Número de Mensagens : 51
Data de inscrição : 09/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Colisão com parede - Ao invés de não grudar eu quero grudar e paralizar o obj

Mensagem por Conteúdo patrocinado Hoje à(s) 22:24


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum