Entrar
Últimos assuntos
» player não consegue andarpor 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
Dúvida sobre alternar entre sprite parado antes da colisão e sprite movendo depois que colidir, mas quando acabar a colisão, voltar a ficar parado!
4 participantes
Página 1 de 1
Dúvida sobre alternar entre sprite parado antes da colisão e sprite movendo depois que colidir, mas quando acabar a colisão, voltar a ficar parado!
A bola começa parada, quando o player1 colidi nela ela vai trocando de sprite e se movendo com ele, mas quando o player1 solta ela, ela continua trocando de sprite, mesmo parada.
No Create tem:
No Step tem:
Na colisão com o player 1 tem:
No Create tem:
- Código:
if (place_meeting(x,y,player1))
{
sprite_index=ball //ball = sprite bola em troca para 5 movimentos em sprite
}else
{
sprite_index=bola0} //bola0 = sprite bola parado, movimento 1 parado
No Step tem:
- Código:
//por cima
if place_meeting(x,y-10,player1) && keyboard_check(vk_up)
if place_free(x,y-10){y-=10}
else if place_meeting(x,y-10,player1) && keyboard_check(vk_down)
{
if place_free(x,y+10){y+=10}
}
//por baixo
if place_meeting(x,y+10,player1) && keyboard_check(vk_down)
{
if place_free(x,y+10){y+=10}
}
else if place_meeting(x,y+10,player1) && keyboard_check(vk_up)
{
if place_free(x,y-10){y-=10}
}
//pela esquerda
if place_meeting(x-10,y,player1) && keyboard_check(vk_left)
{
if place_free(x-10,y){x-=10}
}
else if place_meeting(x-10,y,player1) && keyboard_check(vk_right)
{
if place_free(x+10,y){x+=10}
}
//pela direita
if place_meeting(x+10,y,player1) && keyboard_check(vk_right)
{
if place_free(x+10,y){x+=10}
else if place_meeting(x+10,y,player1) && keyboard_check(vk_left)
{
if place_free(x-10,y){x-=10}
}
}
Na colisão com o player 1 tem:
- Código:
if (place_meeting(x,y,player1))
{
sprite_index=ball
}else
{
sprite_index=bola0}
Última edição por Kleber Sampaio Correia em Sáb 03 Mar 2012, 15:34, editado 1 vez(es)
Kleber Sampaio Correia- Data de inscrição : 11/07/2011
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: Dúvida sobre alternar entre sprite parado antes da colisão e sprite movendo depois que colidir, mas quando acabar a colisão, voltar a ficar parado!
Sou novato, mas acho q é só vc fazer assim...
No create(da bola) vc coloca
no step (da bola) vc coloca:
Ou
Voce usa o que ta no main1, coloca o speed em 0 e quando o player colidir vc usa o dnv e coloca speed # //a velocidade que tu quer.
Anyway, esse seu codigo ta meio confuso, ta tudo funcionando ?
No create(da bola) vc coloca
- Código:
image_speed = 0
- Código:
if place_meeting(x,y,player1)
{
image_speed = # //Velocidade do sprite
}
no step (da bola) vc coloca:
- Código:
if place_meeting(x,y,player1)
{
}
else
{
image_speed = 0
}
Ou
Voce usa o que ta no main1, coloca o speed em 0 e quando o player colidir vc usa o dnv e coloca speed # //a velocidade que tu quer.
Anyway, esse seu codigo ta meio confuso, ta tudo funcionando ?
lucazn1- Data de inscrição : 25/02/2012
Reputação : 1
Número de Mensagens : 30
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida sobre alternar entre sprite parado antes da colisão e sprite movendo depois que colidir, mas quando acabar a colisão, voltar a ficar parado!
Não funcionou =/! O place free serve pra ver ou não se há colisão, sem ele o código de empurrar a bola não funciona, e meu código testando não tá errado, eu repeti o mesmo código em create e collision para ver se funcionava, mas só que a bola se movimenta trocando de sprite, mas não para! Eu só quero que ela pare de trocar de sprite estando parada, estando sem colisão =/!
Kleber Sampaio Correia- Data de inscrição : 11/07/2011
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: Dúvida sobre alternar entre sprite parado antes da colisão e sprite movendo depois que colidir, mas quando acabar a colisão, voltar a ficar parado!
.Seu código não funciona pelo seguinte.
.Você esta checando se esta colidindo com o player no evento de colisão com o player;
veja o que você fez:
Na colisão com o player 1 tem:
if (place_meeting(x,y,player1))
{
sprite_index=ball
}else
{
sprite_index=bola0}
.Ou seja,nunca vai ser false...
.coloque em step;
.Você esta checando se esta colidindo com o player no evento de colisão com o player;
veja o que você fez:
Na colisão com o player 1 tem:
if (place_meeting(x,y,player1))
{
sprite_index=ball
}else
{
sprite_index=bola0}
.Ou seja,nunca vai ser false...
.coloque em step;
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Dúvida sobre alternar entre sprite parado antes da colisão e sprite movendo depois que colidir, mas quando acabar a colisão, voltar a ficar parado!
Tente isso no step:
Funciona mais ou menos assim:
Se a mask encontrar o "player" em (x,y-10){Se up estiver pressionado{o valor do objeto no eixo y diminue em 10 e o sprite é da bola rolando}senão estiver pressionado up o sprite é da bola parada}
- Código:
//por cima:
if place_meeting(x,y-10,player){if keyboard_check_direct(vk_up){y-=10 sprite_index=ball}else{sprite_index=bola0}}
//por baixo:
if place_meeting(x,y+10,player){if keyboard_check_direct(vk_down){y+=10 sprite_index=ball}else{sprite_index=bola0}}
//pela esquerda:
if place_meeting(x-10,y,player){if keyboard_check_direct(vk_left){x+=10 sprite_index=ball}else{sprite_index=bola0}}
//pela direita:
if place_meeting(x+10,y,player){if keyboard_check_direct(vk_right){x-=10 sprite_index=ball}else{sprite_index=bola0}}
Funciona mais ou menos assim:
Se a mask encontrar o "player" em (x,y-10){Se up estiver pressionado{o valor do objeto no eixo y diminue em 10 e o sprite é da bola rolando}senão estiver pressionado up o sprite é da bola parada}
Camin- Data de inscrição : 26/03/2011
Reputação : 9
Número de Mensagens : 101
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida sobre alternar entre sprite parado antes da colisão e sprite movendo depois que colidir, mas quando acabar a colisão, voltar a ficar parado!
O negócio ficou tenso O_O, você anda pra tocar na bola e a bola vai trocando de sprite mas ela atravessa seu corpo e para do outro lado!
Mas muito obrigado pela ajuda gente!
Eu consegui de outra maneira, dando uma estudadinha e testes e o que funcionou foi o jeito de Thyago!
Mas muito obrigado pela ajuda gente!
Eu consegui de outra maneira, dando uma estudadinha e testes e o que funcionou foi o jeito de Thyago!
Kleber Sampaio Correia- Data de inscrição : 11/07/2011
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: Dúvida sobre alternar entre sprite parado antes da colisão e sprite movendo depois que colidir, mas quando acabar a colisão, voltar a ficar parado!
Em create coloquei:
Em step coloquei:
e tirei a colisão em drag and drop com o player!
- Código:
if (place_meeting(x,y,player1))
{
sprite_index=ball
}else
{
sprite_index=bola0}
Em step coloquei:
- Código:
//por cima
if place_meeting(x,y-6,player1) && keyboard_check(vk_up)
{
if place_free(x,y-3){y-=3}
}
else if place_meeting(x,y-6,player1) && keyboard_check(vk_down)
{
if place_free(x,y+3){y+=3}
}
//por baixo
if place_meeting(x,y+6,player1) && keyboard_check(vk_down)
{
if place_free(x,y+3){y+=3}
}
else if place_meeting(x,y+6,player1) && keyboard_check(vk_up)
{
if place_free(x,y-3){y-=3}
}
//pela esquerda
if place_meeting(x-6,y,player1) && keyboard_check(vk_left)
{
if place_free(x-3,y){x-=3}
}
else if place_meeting(x-6,y,player1) && keyboard_check(vk_right)
{
if place_free(x+3,y){x+=3}
}
//pela direita
if place_meeting(x+6,y,player1) && keyboard_check(vk_right)
{
if place_free(x+3,y){x+=3}
}
else if place_meeting(x+6,y,player1) && keyboard_check(vk_left)
{
if place_free(x-3,y){x-=3}
}
//por cima correndo
if place_meeting(x,y-2,player1) && keyboard_check(vk_up) && keyboard_check(vk_space)
{
if place_free(x,y-2){y-=2}
}
else if place_meeting(x,y-2,player1) && keyboard_check(vk_down) && keyboard_check(vk_space)
{
if place_free(x,y+2){y+=2}
}
//por baixo correndo
if place_meeting(x,y+2,player1) && keyboard_check(vk_down) && keyboard_check(vk_space)
{
if place_free(x,y+2){y+=2}
}
else if place_meeting(x,y+2,player1) && keyboard_check(vk_up) && keyboard_check(vk_space)
{
if place_free(x,y-2){y-=2}
}
//pela esquerda correndo
if place_meeting(x-2,y,player1) && keyboard_check(vk_left) && keyboard_check(vk_space)
{
if place_free(x-2,y){x-=2}
}
else if place_meeting(x-2,y,player1) && keyboard_check(vk_right) && keyboard_check(vk_space)
{
if place_free(x+2,y){x+=2}
}
//pela direita correndo
if place_meeting(x+2,y,player1) && keyboard_check(vk_right) && keyboard_check(vk_space)
{
if place_free(x+2,y){x+=2}
}
else if place_meeting(x+2,y,player1) && keyboard_check(vk_left) && keyboard_check(vk_space)
{
if place_free(x-2,y){x-=2}
}
e tirei a colisão em drag and drop com o player!
Kleber Sampaio Correia- Data de inscrição : 11/07/2011
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
Tópicos semelhantes
» como fasso para fazer o sprite do inimigo transformar em morto quando a vida acabar?
» Animação acabar voltar sprite original
» Como quando animação acabar ficar repetindo do numero 5 até o 10?
» quando atigindo por um raio mudar sprite e a sprite voltar.
» Ficar 5 minutos sem colidir com objeto mudar de sprite?
» Animação acabar voltar sprite original
» Como quando animação acabar ficar repetindo do numero 5 até o 10?
» quando atigindo por um raio mudar sprite e a sprite voltar.
» Ficar 5 minutos sem colidir com objeto mudar de sprite?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos