[Resolvido] Jogo plataforma, ajuda com parede

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

Resolvido [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por gifah em Sex 15 Jul 2011, 11:58

Kole pessoal.

To precisando de uma ajuda no jogo de plataforma que eu to fazendo. O problema é que quando eu chego perto da parede e tento pular e continuo com o botao pro lado apertado ele fica grudado nela, e no ar. Isso é muito estranho.

Eu tentei fazer um objeto parede pra poder colocar nos lados, mas nao funcionou, o objeto quando eu pulo ele da um pulo gigantesco (muito estranho isso).

Queria saber porque isso acontece.

Eu tenho um objeto chao (obj_chao) e nele esta marcado como solid. e no objeto jogador (obj_jogador) no evento colisao com o obj_chao tem esse codigo.

Código:
if vspeed > 0 and not place_free(x,y + vspeed)//***se a velocidade vertical for maior do que 0 e não tiver o mesmo valor da vel vertical abaixo...
{
    move_contact_solid(direction,vspeed)//mover na direção do bloco, na direcçao e com a vel.vertical
}
vspeed = 0//***velocidade vertical = a 0(esta no chao)

O que esta errado?

O que eu quero:

Quando ele encostar na parede ele vai continuar caindo ate achar o chao.


Última edição por gifah em Sex 15 Jul 2011, 18:42, editado 1 vez(es)

gifah

Ranking : Nota B
Número de Mensagens : 111
Idade : 27
Data de inscrição : 25/04/2011
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por zzxc em Sex 15 Jul 2011, 12:02

cara pq tu num tenta fazer assim:
coloca no step:
if keyboard_check(vk_left) //movimento a esquerda
{
if place_free(x-8,y) //checa se esta livre
{
hspeed=-8
}
else // se n tiver
{
hspeed=0
}
}
if keyboard_check(vk_right)
{
if place_free(x+8,y)
{
hspeed=8
}
else
{
hspeed=0
}
}
if not keyboard_check(vk_left) and not keyboard_check(vk_right) //se nehum botao estiver precionado
{
hspeed=0
}

zzxc

Ranking : Nota B
Número de Mensagens : 99
Idade : 24
Data de inscrição : 11/01/2010
Notas recebidas : B
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: [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por gifah em Sex 15 Jul 2011, 12:42

zzxc escreveu:cara pq tu num tenta fazer assim:
coloca no step:
if keyboard_check(vk_left) //movimento a esquerda
{
if place_free(x-8,y) //checa se esta livre
{
hspeed=-8
}
else // se n tiver
{
hspeed=0
}
}
if keyboard_check(vk_right)
{
if place_free(x+8,y)
{
hspeed=8
}
else
{
hspeed=0
}
}
if not keyboard_check(vk_left) and not keyboard_check(vk_right) //se nehum botao estiver precionado
{
hspeed=0
}

nao funcionou. deu o mesmo problema.

gifah

Ranking : Nota B
Número de Mensagens : 111
Idade : 27
Data de inscrição : 25/04/2011
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por Luan Maia em Sex 15 Jul 2011, 13:29

Coloca na colisão com a parede assim:
Código:

x = xprevious;
flw

Luan Maia

Ranking : Sem avaliações
Número de Mensagens : 399
Idade : 20
Data de inscrição : 01/07/2010
Notas recebidas : D+C+C+D
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://blogluanmaia.blogspot.com.br/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por Kisuk_kun em Sex 15 Jul 2011, 13:38

se vai la no obj_player e coloca assim
na colizao do player com a parede coloque"vertical speed" ''o incone e uma seta pra baixo''
e deixa do jeito que apareçer
tenta ae e me fala se deu certo

Kisuk_kun

Número de Mensagens : 40
Idade : 21
Data de inscrição : 13/07/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.kisuk_kun.ucoz.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por Tedi Ripper em Sex 15 Jul 2011, 15:03

coloca isso na colisão do player com a parede:
Código:
move_contact_solid(direction,*velocidade y maxima)
vspeed=0

ai faz akilo que o q o zzxc falou.

---edit---
ops, n faz que nem o zzxc
faz assim no step:
Código:
if keyboard_check(vk_left)
{if place_free(x-4,y) then x-=4}
if keyboard_check(vk_right)
{if place_free(x+4,y) then x+=4}
flw


Última edição por Tedi Ripper em Sex 15 Jul 2011, 15:07, editado 1 vez(es)

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
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: [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por PedroX em Sex 15 Jul 2011, 15:06

Um código que nunca dá problema:

Código:
if place_free(x,y+vspeed+1){
vspeed+=0.75;
}else{
move_contact_solid(270, 16)
vspeed=0;
}

Você nem precisa colocar gravidade, porque ele já coloca.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por gifah em Sex 15 Jul 2011, 18:40

ja consegui. Nao tava com net quando consegui, entaum vo mostra como fiz.

Coloquei no colisao com o obj_chao o seguinte codigo.

Código:

if (place_free(x,y+2)) {
vspeed += gravity;
} else {
vspeed = 0;//***velocidade vertical = a 0(esta no chao)
}

Obrigado quem ajudou.

gifah

Ranking : Nota B
Número de Mensagens : 111
Idade : 27
Data de inscrição : 25/04/2011
Notas recebidas : B
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Jogo plataforma, ajuda com parede

Mensagem por Conteúdo patrocinado Hoje à(s) 20:14


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