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


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

Ir para baixo

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! Empty 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!

Mensagem por Kleber Sampaio Correia Dom 26 Fev 2012, 19:39

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:
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
Kleber Sampaio Correia

Data de inscrição : 11/07/2011
Reputação : 0
Número de Mensagens : 13
Prêmios : 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! 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

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! Empty 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!

Mensagem por lucazn1 Dom 26 Fev 2012, 22:00

Sou novato, mas acho q é só vc fazer assim...
No create(da bola) vc coloca
Código:
image_speed = 0
dps em colisão com player1 coloca:

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 Action Sprite que ta no main1, coloca o speed em 0 e quando o player colidir vc usa o Action Sprite dnv e coloca speed # //a velocidade que tu quer.
Anyway, esse seu codigo ta meio confuso, ta tudo funcionando ? Razz
avatar
lucazn1

Data de inscrição : 25/02/2012
Reputação : 1
Número de Mensagens : 30
Prêmios : 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! 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

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! Empty 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!

Mensagem por Kleber Sampaio Correia Qua 29 Fev 2012, 21:49

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
Kleber Sampaio Correia

Data de inscrição : 11/07/2011
Reputação : 0
Número de Mensagens : 13
Prêmios : 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! 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

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! Empty 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!

Mensagem por Thyago Qua 29 Fev 2012, 22:37

.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;
Thyago
Thyago

Games Ranking : Nota B

Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios : 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! Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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! Empty 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!

Mensagem por Camin Qui 01 Mar 2012, 16:10

Tente isso no step:
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
Camin

Data de inscrição : 26/03/2011
Reputação : 9
Número de Mensagens : 101
Prêmios : 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! 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

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! Empty 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!

Mensagem por Kleber Sampaio Correia Sáb 03 Mar 2012, 15:26

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!
Kleber Sampaio Correia
Kleber Sampaio Correia

Data de inscrição : 11/07/2011
Reputação : 0
Número de Mensagens : 13
Prêmios : 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! 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

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! Empty 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!

Mensagem por Kleber Sampaio Correia Sáb 03 Mar 2012, 15:32

Em create coloquei:

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
Kleber Sampaio Correia

Data de inscrição : 11/07/2011
Reputação : 0
Número de Mensagens : 13
Prêmios : 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! 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

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! Empty 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!

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