Movimento travado

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

Movimento travado

Mensagem por mateus luz em Ter 29 Jun 2010, 22:28

Oi pessoal,to com um probleminha.

Fazendo meu jogo de plataforma criei variaveis no create:

Código:
andando=false
noar=false
lado=0
//0=esq e 1=dir

e no step fiz assim:

Código:
/*Definir gravidade*/
if (place_free(x,y+1))//Se 1 pixel abaixo esta livre,ou seja, se não tem chão
{
gravity_direction=270//Direção da gravidade deve ser 270,ou para baixo
gravity=0.5//força da gravidade deve ser de 0.5
noar=true//variavel noar é verdadeira,ou seja,o char esta pulando
}
else//Se a função (place_free(x,y+1)) não for verdadeira,ou seja,se tiver chão.
{
gravity_direction=270//Direção da gravidade deve ser 270,ou para baixo
gravity=0//sem gravidade(evita bugs)
noar=false//Var noar é falsa,ou seja,o char esta no chão
}//End
       

/*Movimento para esquerda*/
//0=esq e 1=dir
//noar e andando
if (place_free(x-4,y)) && (keyboard_check(vk_left))//Se o char estiver livre de colizão 4 pixel a esquerda e apertar teecla esquerda
{
x-=4//Move 4 pixel á esquerda
andando=true//Var andando é true,ou seja,o char está andando
lado=0//o lado ser que o char está andando é 0,ou esq
}


/*Movimento para direita*/
if (place_free(x+4,y)) && (keyboard_check(vk_right))//Se o char estiver livre de colizão 4 pixel a direita e apertar tecla direita
{
x+=4//Move 4 pixel á esquerda
andando=true//Var andando é true,ou seja,o char está andando
lado=1//o lado ser que o char está andando é 1,ou dir
}

/*Definir andando como falso*/

if !(keyboard_check(vk_left)) && !(keyboard_check(vk_right))//se direita e esquerda não forem pressionadas
{
andando=false//Var andando=false,ou seja,o char está parado
}

/*Movimento de pulo*/
if !(place_free(x,y+1)) && (keyboard_check(vk_up))//se tem achão e apertar cima
{
vspeed=-10//pula 10 pixel para cima
}


/*Definindo sprites por condição de variavel*/
//Condições de andando=true

if (andando=true)&&(lado=0)//se o player andar para esquerda
{
sprite_index=spr_percy_andando_esquerda//troca para este sprite
}

if (andando=true)&&(lado=1)//se o player andar para direita
{
sprite_index=spr_percy_andando_direita//troca para este sprite
}

//Condições de andando=false

if (andando=false)&&(lado=0)
{
sprite_index=spr_pery_parado_esquerda
}

if (andando=false)&&(lado=1)
{
sprite_index=spr_percy_parado_direita
}

//Condição de noar=true

if (noar=true)&&(lado=0)
{
sprite_index=spr_percy_pulando_esquerda
}

if (noar=true)&&(lado=1)
{
sprite_index=spr_percy_pulando_direita
}

E na colizão com o chão ficou assim:

Código:
vspeed = 0

quando executo o jogo e movo o char ele se move normal,mas quando pulo para outras plataforma derrepente o cha começa atravar!! se aperto para esquerda ele se move para esquerda aos tirãos,será que alguem pode me ajudar,ja tentei de tudo!!!

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimento travado

Mensagem por BioTrust em Ter 29 Jun 2010, 23:06

É porque da um erro na colisão do chão com o player. Infelizmente, nao sei ajudar mas, da uma leve pesquisada no fórum, que tem um ótimo tutorial do Mistery Boy Maker sobre 'personagem mudar de sprite ao andar'.
Abs

BioTrust

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

http://livrodojovemnerd.blogspot.com

Voltar ao Topo Ir em baixo

Re: Movimento travado

Mensagem por The Wizard em Qua 30 Jun 2010, 08:51

bota isso na colisão com o chão
Código:

// Encaixar no bloco
if !(vspeed < 0)
{
noar=false    move_contact_solid(270,32);
    if (hspeed > 0) {if !(place_free(x-v,y+1)) vspeed = 0; hspeed = 0;}
    else if (hspeed < 0) {if !(place_free(x-v,y+1)) vspeed = 0; hspeed = 0;}
    else if (hspeed = 0) {if !(place_free(x,y+1)) vspeed = 0;}
}
else
{
    move_contact_solid(90,32);
    vspeed = 0;
}

The Wizard

Ranking : Nota B
Número de Mensagens : 1129
Idade : 18
Data de inscrição : 24/03/2010
Notas recebidas : B
Reputação : 17
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://awesomewizards.deviantart.com/

Voltar ao Topo Ir em baixo

Re: Movimento travado

Mensagem por mateus luz em Qua 30 Jun 2010, 18:03

ai pessoal,não adiantou mas obrigado pela ajuda, e quem tiver uma outra maneira de ajudar por favor faça.

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimento travado

Mensagem por Mystery_boy_maker em Qua 30 Jun 2010, 20:31

Bem voce pode fazer assim :

No Create :


direita = true
chao = false
andando = false


Agora no Step



if direita = true {
if chao = false {
if vspeed <=0 { sprite_index = spr_pulando_direita

}else{
if andando = true and pe_no_chao = true { sprite_index = spr_andando_direita
}else{
sprite_index = spr_parado_direita
}
}
}else{
if direita = false {
if chao = false {
if vspeed <=0 { sprite_index = spr_pulando_esq


if (keyboard_check(vk_right)){
hspeed = 4;direita = true;andando = true
}else{
if (keyboard_check(vk_left)){
hspeed = -4;direita = false;andando = true
}else{
hspeed = 0;andando = false
}
}


if place_free(x,y+1) { vspeed+=1 }

}
}

if chao = true {
if andando = true { sprite_index = spr_andando_esq
}else{
andando = false {
sprite_index = spr_parado_esq



}
}
}
}


Na Colisao com o solo

vspeed=0
move_contact_solid(270,5)
chao = true

Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Movimento travado

Mensagem por mateus luz em Qua 30 Jun 2010, 22:42

agora o char nem se meche!!!!

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimento travado

Mensagem por Mystery_boy_maker em Qua 30 Jun 2010, 23:05

Eu fiz uma engine para você







Tecla X pula e direcionais se movem

http://sharesend.com/download/z3ofs

Atenção as sprites foram feitas por mim não modique a engine para construir um jogo seu ! ela foi feita para ser estudada!



Mystery_boy_maker

Número de Mensagens : 908
Idade : 23
Data de inscrição : 25/01/2010
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Movimento travado

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


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