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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Problema de colisão em jogo de tetris

2 participantes

Ir para baixo

Problema de colisão em jogo de tetris Empty Problema de colisão em jogo de tetris

Mensagem por Maker Sáb 19 Fev 2011, 11:59

Quando uma peça encostra em outra pela, ela deverá parar e virá a outra peça.

O meu problema é que quando um peça encosta na LATERAL de outra peça, é como se a colisão fosse verdadeira, aí ela simplesmente para ali no ar do lado da peça e vem a outra.

Alguém tem alguma idéia de como fazer a peça parar somente quando a colisão for em cima da outra peça?

Não sei se isso ajuda, mas essa é a rotina que faz a peça descer sozinha (está no alarme 0):
Código:
if canmove = true
{
y+=16;

if (global.down > 0)
{
    alarm[0] = global.delay * room_speed;
    global.down = global.down - 1;
}
}
Maker
Maker

Data de inscrição : 09/06/2008
Reputação : 0
Número de Mensagens : 51
Prêmios : Problema de colisão em jogo de tetris 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

Problema de colisão em jogo de tetris Empty Re: Problema de colisão em jogo de tetris

Mensagem por Limalokão Sáb 19 Fev 2011, 12:12

Bom dia amigo, se eu não me engano para voce fazer um jogo de tetris voce tem que alinhar no Grid! La na aba main1 tem a função align to grid! e coloca o tamanho de cada quadradinho das suas peças do tetris! Isso vc tem que fazer em cada peça! Digamos assim: se eu tenho um bloco de tetris com 4 bloquinhos cada um tem 16x16 entao eu vou alinhar a peça "bloco" em 16x16! entendeu? Eu acho que nao vai dar erro não! veja la se funciona! Vlws

--EDIT--

Entendi sua pergunta: "Quando voce aperta para o lado e dos lados tem uma outra peça parada, se apertar de mais para o lado ele vai colidir e freiar ali neh?! Entendi! Voce pode criar uma variavel para que se tiver algo do lado da peça o player não possa apertar para o lado, sendo assim a peça não irá colidir com a outra! Vou fazer um code aki e ja te mando!

--EDIT²--

Codigo coloca no create de cada peça:
Código:
podeapertar=true

No step:
Código:
if podeapertar=true && if place_free(x+1,y)
{
//coloca aki o que você quer que aconteça com a peça, no caso apertar as flechas para o lado
}

if podeapertar=true && if place_free(x-1,y)
{
//coloca aki o que você quer que aconteça com a peça, no caso apertar as flechas para o lado
}

else //se nao derto certo tenta tirar este else =D

if !place_free(x+1,y) //se nao estiver livre do lado direito, ou seja, se tiver alguma peça...
{
podeapertar=false
//aki o código de continuar caindo
}

if !place_free(x-1,y) //se nao estiver livre do lado direito, ou seja, se tiver alguma peça...
{
podeapertar=false
//aki o código de continuar caindo
}

Cara eu tentei, mas nao testei, então espero que de certo! Foi mal qualquer coisa ai!
Limalokão
Limalokão

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 24/11/2009
Reputação : 10
Número de Mensagens : 805
Prêmios : Problema de colisão em jogo de tetris Empty

Medalhas x 0 Tutoriais x 1 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
  • Game Maker Studio 2.0


https://llgd.com.br

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