Plataforma movel - Testei todas e nenhuma funciona bem

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

Plataforma movel - Testei todas e nenhuma funciona bem

Mensagem por AndersonFG em Seg 14 Fev 2011, 13:44

Após testar muitos modelos de plataformas moveis postadas aqui no fórum e não ter resultados satisfatórios com nenhuma. Resolvi criar esse post na parte avançada.

Sei que existem posts com o mesmo pedido e muitos resolvidos, mas nenhum deles parece funcionar pra mim.

O que mais chegou perto de funcionar foi esse:
Código:
if y+sprite_height/2<other.y+vspeed and vspeed>0 //Caso o player esteja acima do objeto
{
if x+3>other.x-other.sprite_width/2 and x-3<other.x+other.sprite_width/2 //Caso os pés do player estejam encima do objeto
{
y=other.y-other.sprite_height/2-sprite_height/2+2  //Faz com que o player fique parado encima do objeto
vspeed=0
x+=other.hspeed
}
}
if keyboard_check_pressed(vk_up)
vspeed=-8
Retirado desse tópico

Bom, algumas informações adicionais.
Eu estou usando "path" pra fazer o caminho da plataforma.

Meu GMK com toda a minha configuração, talvez ajude.
Mirror 01: http://rapidshare.com/files/447898176/plataforma_02_testes.gmk
Ou
Mirror 02: http://www.megaupload.com/?d=1V8HDJ6A
Ou
Mirror 03: http://www.mediafire.com/?iys43sp4fyeh340

AndersonFG

Número de Mensagens : 22
Data de inscrição : 12/02/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Plataforma movel - Testei todas e nenhuma funciona bem

Mensagem por gustavo ferreira em Seg 14 Fev 2011, 14:10

entaum mann vc vou te ajudar fazer a plataforma que se move na horizontal entaum vc cria um obj com o sprite da plataforma e marca como solido ae vc add um step e coloca assim
Código:
if not place_empty(x-4,y){hspeed=4}

if not place_empty(x+4,y){hspeed=-4}
ae no create vc coloca
Código:
hspeed=choose(4,-4)
ae depois vc coloca o bloco como parente ae acabou só isso


Última edição por gustavo ferreira em Seg 14 Fev 2011, 14:30, editado 1 vez(es)

gustavo ferreira

Ranking : Nota C
Número de Mensagens : 470
Idade : 22
Data de inscrição : 03/12/2010
Notas recebidas : C+C+C+C
Reputação : 28
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Plataforma movel - Testei todas e nenhuma funciona bem

Mensagem por Willy em Seg 14 Fev 2011, 14:11

Pelo que reparei na engine, o path que usou é apenas horizontal...
Então eu posso te ajudar!

Primeiramente, a plataforma movel não vai mais usar Path, mas sim HSPEED.
Faça assim:

-Marque "Solid"
-No create, hspeed=velocidade
-Na colisao com um objeto para rebater (crie um obj_invisivel), use hspeed=-hspeed

No step do jogador:
Código:
plat_h=instance_place(x,y+1,obj_movel);
if instance_exists(plat_h){
if place_free(x+plat_h.hspeed,y){
repeat(2)//"2" é a velocidade do obj_movel
x+=sign(plat_h.hspeed)
}
}

Coloque o mesmo codigo da colisao com o bloco na colisao com a plataforma.

Espero ter ajudado!

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Plataforma movel - Testei todas e nenhuma funciona bem

Mensagem por AndersonFG em Seg 14 Fev 2011, 14:21

gustavo ferreira escreveu:entaum mann vc vou te ajudar fazer a plataforma que se move na horizontal entaum vc cria um obj com o sprite da plataforma e marca como solido ae vc add um step e coloca assim
Código:
if (place_meeting(x, y - vspeed, obj_player))
{
  obj_player.y -= vspeed;
}
ae vc vai no obj do player e add um evento de colisão do player com a plataforma e coloca assim
Código:
if place_meeting(x, y+2, obj_plataforma)
{y -= 2;}
tendeu?! se num for isso da um post blz?! falow

Willy escreveu:Pelo que reparei na engine, o path que usou é apenas horizontal...
Então eu posso te ajudar!

Primeiramente, a plataforma movel não vai mais usar Path, mas sim HSPEED.
Faça assim:

-Marque "Solid"
-No create, hspeed=velocidade
-Na colisao com um objeto para rebater (crie um obj_invisivel), use hspeed=-hspeed

No step do jogador:
Código:
plat_h=instance_place(x,y+1,obj_movel);
if instance_exists(plat_h){
if place_free(x+plat_h.hspeed,y){
repeat(2)//"2" é a velocidade do obj_movel
x+=sign(plat_h.hspeed)
}
}

Coloque o mesmo codigo da colisao com o bloco na colisao com a plataforma.

Espero ter ajudado!

Sim, mas a minha intenção é criar subidas também, por isso a necessidade de usar path.
Isso parece cooisa complicada, ninguém parece saber e não acho informação sobre isso, vou ver se consigo alguma informação no fórum da YoYo.

AndersonFG

Número de Mensagens : 22
Data de inscrição : 12/02/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Plataforma movel - Testei todas e nenhuma funciona bem

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


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