gente me ajuda com esse codigo de pulo porq ñ ta dando certo

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

Resolvido gente me ajuda com esse codigo de pulo porq ñ ta dando certo

Mensagem por eliton perera em Sab 05 Nov 2011, 22:47

bom é o seguinte quando eu pulo a sprite fica pra esquerda ao inves de ficar pros 2 lados
caso eu pulase pra algum dos dois lados entederam

aki esta o codigo q uso ve se tem algo de errado nele


if vspeed>0
{
sprite_index=spr_veemon_caindo//troca pelo nome que vc pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}

if vspeed<0
{
sprite_index=spr_veemon_pulo//troca pelo nome que você pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}
if vspeed>0
{
sprite_index=spr_veemon_esquerda_caindo//troca pelo nome que vc pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}

if vspeed<0
{
sprite_index=spr_veemon_esquerda_pulo//troca pelo nome que você pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}


Última edição por eliton perera em Dom 06 Nov 2011, 21:54, editado 1 vez(es)

eliton perera

Número de Mensagens : 76
Data de inscrição : 04/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: gente me ajuda com esse codigo de pulo porq ñ ta dando certo

Mensagem por MatheusReis em Sab 05 Nov 2011, 23:04

Adeque seu tópico às regras de postagem da sessão ou ele será excluido.

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Resolvido Re: gente me ajuda com esse codigo de pulo porq ñ ta dando certo

Mensagem por Fireheaddew em Sab 05 Nov 2011, 23:08

Claro que há algo errado! Você só colocou o lado esquerdo aí! O GM nunca vi saber quando você vai querer usar aquela sprite se não dizer para ele.
--
if vspeed<0 && hspeed<0
{
sprite_index=spr_veemon_pulo//troca pelo nome que você pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}
if vspeed>0 && hspeed<0
{
sprite_index=spr_veemon_esquerda_caindo//troca pelo nome que vc pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}

if vspeed<0 && hspeed<0
{
sprite_index=spr_veemon_esquerda_pulo//troca pelo nome que você pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}
if vspeed<0 && hspeed>0
{
sprite_index=spr_veemon_pulo//troca pelo nome que você pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}
if vspeed>0 && hspeed>0
{
sprite_index=spr_veemon_direita_caindo//troca pelo nome que vc pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}

if vspeed<0 && hspeed>0
{
sprite_index=spr_veemon_direita_pulo//troca pelo nome que você pôs
image_index+=1
if image_index>=10 {image_index=10} //suponhamos que vc tenha 10 subimages a subimage 0 conta como 1 então vc verá que a ultima será image 9
}

Percebe a diferença? Ele agora detecta a direção do player. Não entendi muito bem seu código, mas tudo bem. Vê se isso resolve.
Edit:
"Adeque seu tópico às regras de postagem da sessão ou ele será excluido."
Hehe. Parece um Bot que responde exatamente igual em dois tópicos. cyclops

Fireheaddew

Número de Mensagens : 235
Data de inscrição : 04/11/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: gente me ajuda com esse codigo de pulo porq ñ ta dando certo

Mensagem por eliton perera em Sab 05 Nov 2011, 23:16

sim funciono mas agora ele ñ ta olhando para baixo,tipo eu puis a sprite dele pulando e a outra dele caindo mas agora mostra so a pulando


sera q o problema esta nesse outro codigo

if (place_free(x,y+1)) //Checa se 1 pixel abaixo está vazio, ou seja, se não tem chão.
{gravity=0.5; noar=true;
//Coloca valor na gravidade e define a variável noar para true, ou seja, o personagem não está no chão.
} else
//Se a expressão place_free for falsa, ou seja, tenha chão embaixo:
{gravity=0; noar=false; //Gravidade se torna zero e a variável noar se torna false, ou seja, o personagem está no chão.
}

//Definiões de pulo
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1)) //Checa se a tecla de direção cima foi pressionada e se NÃO tem um pixel livre abaixo.
{
vspeed=-9; noar=true; friction=0 //Se for verdade, velocidade vertical se torna 9 negativo e a variávell noar se torna true, ou seja, o personagem NÃO está no chão.
}

if (vspeed>12) //Checa se a velocidade vertical do personagem possui um valor maior que 12.
vspeed=12; //Se estiver maior do que 12, o valor se torna 12. Isso serve para que o personagem não ultrapasse grandes velocidades verticais, podendo causar bugs no jogo.

if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y)) //Checa se a tecla de direção esquerda está sendo pressionada, e se a tecla direita NÃO está sendo pressionada e se tem 5 pixels de espaço à esquerda.
{x-=5; lado=0; andando=true; parado=false;//Caso a expressão acima seja verdadeira, o personagem se move 5 pixels a esquerda, virá para a esquerda de acordo com a variável lado, a variável andando se torna true para indicar que o personagem está andando e a variável parado se torna false, ou seja, o personagem NÃO está parado.
}

if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y)) //Mesmo de cima, só que dessa vez, checamos se a tecla de direção direita está sendo pressionada, se a tecla de direção esquerda NÃO está sendo pressionada e se tem 5 pixels à direita livre.
{x+=5; lado=1; andando=true; parado=false; //A mesma coisa do evento anterior. A única coisa que muda é que aqui o personagem se move 5 pixels a direita e a variável lado se torna 1, ou seja, ele vira pra direita.
}

if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) //Checa se a tecla direita e a tecla esquerda não estão sendo precionadas.
{andando=false; parado=true;//Caso seja verdade, a variável andando se torna false, ou seja, o personagem NÃO está andando. E a variável parado se torna true, ou seja, o personagem está parado.
}

//Sprites
if (noar==false) //Checa se o personagem está no ar.

{
if (andando=true) && (lado==1) //Checa se o personagem está andando e se ele está virado para a direita.
{
sprite_index=spr_veemon_andando; //Se sim, a sprite dele se torna a sprite do personagem andando para a direita.
}
if (andando=true) && (lado==0) //Checa se o personagem está andando e se ele está virado para a esquerda.
{
sprite_index=spr_veemon_esquerda_andando; //Se sim, o sprite dele se torna a sprite do personagem andando para a esquerda.
}
if (andando==false) && (parado==true) && (lado==1) //Se o personagem não está andando, se o personagem está parado e está virado para a direita:
{
sprite_index=spr_veemon_parado; //Se sim, a sprite dele se torna a sprite do personagem parado para a direita.
}
if (andando==false) && (parado==true) && (lado==0) //Se o personagem não está andando, está parado e está virado para a esquerda:
{
sprite_index=spr_veemon_esquerda_parado; //Se sim, a sprite dele se torna o sprite do personagem parado para a esquerda.
}
}
else //Caso o personagem NÃO esteja com os pés no chão:
{
if (vspeed>0) || (vspeed<0) && (lado==1) //Se ele está pulando ou caindo e está virado para a direita:
{
sprite_index=spr_veemon_pulo ; //O sprite do personagem se torna o sprite dele pulando para a direita.
}
if (vspeed>0) || (vspeed<0) && (lado==0) //Se o personagem está pulando ou caindo e está virado para a esquerda:
{
sprite_index=spr_veemon_esquerda_pulo; //O sprite do personagem se torna o sprute dele pulando para a esquerda.
}
}

de uma olhada pra mi por favor

eliton perera

Número de Mensagens : 76
Data de inscrição : 04/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: gente me ajuda com esse codigo de pulo porq ñ ta dando certo

Mensagem por RubensGM em Dom 06 Nov 2011, 21:43

Olá, seus codigos estão meio bagunçados nao acha?
Vou tentar ajuda-lo...
1º) Crie variaveis no evento Create do seu player:
Código:
andando = false//ele n esta andando ou seja esta parado
pulando_up = false// n esta subindo
pulando_down = false// n esta descendo
direita = true// esta virado para a direita

2º)No Step coloque no movimento do seu player se ele esta virado para a direita e se esta andando...
Código:

if (keyboard_check(vk_right))// se aperta "->"
{
    if (place_free(x+4,y+0))//se estiver livre  4 a direita
    {x += 4; andando = true; direita = true }//ele esta andando e esta virado para a direita
}
if (keyboard_check_released(vk_right))//se soltar "->"
{
andando = false; // esta parado mas continua virado para a direita
}
// Espero que saiba fazer o restante do codigo...hehehe

3º) Ainda no Step faça o pulo:
Código:

if keyboard_check(vk_up) and !place_free(x+0,y+1)//se apertar para cima e estiver no chao
{vspeed = -12; andando = false; }//a vel vertical = -12 e nao esta andando

if vspeed < 0// se vel vertical for menor que 0(negativo = para cima)
{pulando_up = true;pulando_down = false; }//esta subindo e nao esta descendo
else//senao
{pulando_down = true; pulando_up = false; }//esta descendo e nao esta subindo

if Vspeed  = 0// se velocidade vertical for igual a 0
{pulando_down = false; pulando_up = false;}nao esta nem subindo nem descendo esta provavelmente no chao
// Uffa, q codigo grande esse do pulo ein
soneca

4º) Agora finalmente as trocas de Sprites...Crie um novo Code no Step
Código:

if (andando == true and pulando_up == false and pulando_down == false)//se tiver andando e nao tiver pulando
{
    if direita == true// se tiver virado para direita
    {
    sprite_index = spr_and_dir;// muda para sprite virada para direita(mude o nome    spr_and_dir para o de sua sprite )
    }
    else//senao
    {
    sprite_index = spr_and_esq;// muda para sprite virada para esquerda(mude o nome spr_and_esq para o de sua sprite )
    }
}
else//senao
if (andando == false and pulando_up == false and pulando_down == false)//se tiver parado
{
    if direita == true//se tiver virado para direita
    {
    sprite_index = spr_par_dir;// muda para sprite parada virada para direita(mude o nome  spr_par_dir para o de sua sprite )
    }
    else//senao
    {
    sprite_index = spr_par_esq;// muda para sprite parada virada para esquerda(mude o nome spr_par_esq para o de sua sprite )
    }
}
else//senao
if (pulando_up == true)//se estiver subindo
{
    if direita == true//se estiver vidado para direita
    {
    sprite_index = spr_pul_dir;// muda para sprite subindo virada para direita(mude o nome  spr_pul_dir para o de sua sprite )
    }
    else//senao
    {
    sprite_index = spr_pul_esq;// muda para sprite subindo virada para esquerda(mude o nome    spr_pul_esq para o de sua sprite )
    }
}
else//senao
if (pulando_down == true)//se estiver descendo
{
    if direita == true//se estiver vidado para direita
    {
    sprite_index = spr_pul_dir;// muda para sprite descendo virada para direita(mude o nome  spr_pul_dir para o de sua sprite )
    }
    else//senao
    {
    sprite_index = spr_pul_esq;// muda para sprite descendo virada para esquerda(mude o nome spr_pul_esq para o de sua sprite )
    }
}
// Outro Code grande em!!!!
Isso foi quase um Tutorial, não?
Acho que isso resolve o seu problema....Caso nao resolva...
Ai é só me perguntar...
Se tiver algum erro no Code me AVISE.
vlw lol!

RubensGM

Número de Mensagens : 87
Data de inscrição : 31/05/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: gente me ajuda com esse codigo de pulo porq ñ ta dando certo

Mensagem por eliton perera em Dom 06 Nov 2011, 21:54

vlw Rubens mas tinha esquecido de fechar o topico(resolvido),mas vlw muito obrigado mesmo por responder, acho q para outras pessoas seu codigo dara certinho cheers

eliton perera

Número de Mensagens : 76
Data de inscrição : 04/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: gente me ajuda com esse codigo de pulo porq ñ ta dando certo

Mensagem por Conteúdo patrocinado Hoje à(s) 02:05


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