Atravessar plataforma e parar em cima dela

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

Atravessar plataforma e parar em cima dela

Mensagem por handeter em Qua 25 Fev 2009, 14:23

Eu gostaria de saber como eu faço para fazer meu personagem pular de baixo de uma plataforma atravessar ela e quando cair, parar em cima dela.

Eu ja li topicos com duvidas parecidas com essa study , mas msm assim n conseguir descobrir o q tinha q fazer scratch Sad

Se alguem souber por favor me responda.

qualquer ajuda é bem vinda cheers

e se puder, vir com comandos do game maker.
mas pode ser tb com codigos lol!

flws

handeter

Número de Mensagens : 28
Data de inscrição : 19/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por VerdiMare em Qua 25 Fev 2009, 14:59

podscré queria também fazer isto mas parece q não dar Mad
bom tenha criatividade se ninguem le responder!

Até mais Very Happy

VerdiMare

Número de Mensagens : 679
Idade : 19
Data de inscrição : 21/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por handeter em Qua 25 Fev 2009, 15:07

Sad eu estou um tempao lendo uns topicos e n consigo nada
study

handeter

Número de Mensagens : 28
Data de inscrição : 19/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por Gusba em Qua 25 Fev 2009, 19:06

coloca a plataforma como NAO solida, nao faça NENHUM evento de colisao com ela, e no step do jogador coloca:

Código:
if (place_meeting(x,y+1,obj_plataforma) and vspeed >= 0) {
      vspeed = 0;
      y -= 1;
}


no lugar de obj_plataforma coloque o nome do seu objeto

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por handeter em Qui 26 Fev 2009, 15:48

Gusba + uma vez brigado por tentar ajudar cheers

Depois de muito tentar study eu coloquei esse codigo no step do meu personagem e deu certo Cool

Codigo
while (place_meeting(x,y,obj_plataforma)) {
y -= 1;
if (vspeed >= 0) {
vspeed = 0;
}
}

O unico problema é q depois de atravessar a plataforma ele da um pulo a mais e depois cai em cima do jeito q eu queria
Se n fosse o pulo a mais tava perfeito, mas ate q esse pulo a mais n tem muito problema, entao eu acho q esse problema pra mim foi resolvido. cheers

Eu tentei o seu codigo, mas ele pula por cima da plataforma cai em cima dela mas ai ele perde a animaçao e fica parado e tem q sair da plataforma para voltar ao normal. scratch

Mas mais uma vez vlw por ajudar

handeter

Número de Mensagens : 28
Data de inscrição : 19/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por Gusba em Qui 26 Fev 2009, 15:58

cara, acredito q esse codigo q deu certo tambem é meu =D

mas q bom que deu certo!

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por CPinheiro em Qui 26 Fev 2009, 16:11

Isso não é difícil. O metodo ideal é verificar se o y da plataforma é menor do que o y do personagem. Se for, a plataforma torna-se não-sólida. Se o y da plataforma por maior que o y do personagem (se a plataforma estiver em baixo), ela se torna sólida.

Estou usando isso em um projeto meu, é realmente útil. ;)

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por rodrigo1434 em Qui 26 Fev 2009, 20:01

Tambem acho o metodo do Cpinheiro mais simples e eficaz, por sempre tenho bugs mortais com colisão e acho q o simples é melhor Happy


Última edição por rodrigo1434 em Sab 14 Mar 2009, 13:52, editado 1 vez(es)

rodrigo1434

Ranking : Nota C
Número de Mensagens : 318
Idade : 23
Data de inscrição : 25/04/2008
Notas recebidas : C
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://brasilgame.forumbrasil.net

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por Gusba em Qui 26 Fev 2009, 20:20

eu nao acho muito bom, mas cada um cada um xD

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por handeter em Sex 13 Mar 2009, 12:23

oi gente tem como fazer o personagem n dar um pulo a mais modificando esse codigo?

Código:

while (place_meeting(x,y,obj_plataforma)) {
    y -= 1;
    if (vspeed >= 0) {
        vspeed = 0;
    }
}

handeter

Número de Mensagens : 28
Data de inscrição : 19/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por Janx em Sex 13 Mar 2009, 13:19

claro.

while (place_meeting(x,y,obj_plataforma))
{
if vspeed >= 0
{ vspeed = 0;
y -= 1;}
}

flwss

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por M.A.S. em Dom 15 Mar 2009, 09:54

Ao invés do vspeed, eu usaria o yprevious e o y. Nem sempre se usa o vspeed, mas o movimento de acordo com a posição anterior e a atual é sempre válido.

Código:
if (place_meeting(x,y+1,obj_plataforma) and (yprevious < y)) then
begin
      vspeed = 0;
      y := (position_meeting(x,y+1,obj_plataforma)).y - 1;
end;

Só que o pivô da instância que pula tem que estar na base do sprite e o pivô da plataforma, no topo do sprite.

M.A.S.

Número de Mensagens : 377
Data de inscrição : 03/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por CPinheiro em Dom 15 Mar 2009, 10:02

Não conhecida o yprevious, M.A.S. Como ele funciona?
Ah, para evitar erros com os offsets dos sprites, é bom fazer isso:

Código:
if (place_meeting(x,y-sprite_yoffset+sprite_height+1,obj_plataforma) and (yprevious < y)) then
begin
      vspeed = 0;
      y := (position_meeting(x,y+1,obj_plataforma)).y - 1;
end;

Mas claro, para não dar erros, o sprite deve se resumir no jogador, sem deixar espaços verticalmente.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por M.A.S. em Dom 15 Mar 2009, 10:45

Não conhecida o yprevious, M.A.S. Como ele funciona?

O xprevious e o yprevious são as posições x e y da instância no step anterior ao atual. Se você icrementa 1 pixel ao x a cada step, o valor de xprevious no momento em que x for 30 será 29.

Dessa forma saberíamos se a instância está subindo ou descendo mesmo que ela não use o vspeed.

M.A.S.

Número de Mensagens : 377
Data de inscrição : 03/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

Mensagem por freelipe em Dom 15 Mar 2009, 17:23

Bem, eu só irei responder a sua pergunta, o resto é você quem irá fazer.

1-Criar estes objetos:
-Um obj_personagem
-Um obj_bloco

2-Programar o obj_personagem
-Adicione um evento de colisão com o obj_bloco
-No evento adicione um código e escreva:

Código:
if global.solido=true
if vspeed>-0.1
{
if other.y-16>y
{
x=self.x
y=other.y-32
vspeed=0
solo=true
}
}
else
{
//nenhum//
}


3-Programar o obj_bloco
-Adicione um evento create.
-No evento adicione um código e escreva:

Código:
global.solido=false

-Adicione um evento step.
-No evento adicione um código e escreva:

Código:
 if obj_personagem.y<y and distance_to_object(obj_personagem)<4{global.solido=true}
 

 



PRONTO!!
Coloque seu obj_personagem e seu obj_bloco na room e teste!! Smile

freelipe

Número de Mensagens : 113
Idade : 20
Data de inscrição : 08/03/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Atravessar plataforma e parar em cima dela

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


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