Como fazer gravidade em plataforma sem Solid

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

90% Como fazer gravidade em plataforma sem Solid

Mensagem por willyruduit em Sex 10 Abr 2015, 12:00

Bom, gostaria de saber outras maneiras de fazer um jogo de plataforma sem  usar o velho solid e e na colisão
Código:
if other.solid{
move_contact_solid(direction,12)
vspeed=0
}

Vi outra maneira tipo isto:

Código:
if y<obj_bloco.y {
if place_meeting(x,y,obj_bloco) {
gravity=0
vspeed=0}
else{
gravity=1}
}

Mas não funciona direito, usei isso nos inimigos do meu jogo mas uns caem do nada.

Gostaria de saber formas que realmente funcionam e substituem o velho Solid !


Vale Joinha blz


Última edição por willyruduit em Sex 10 Abr 2015, 20:38, editado 2 vez(es)

willyruduit

Ranking : Nota A
Número de Mensagens : 306
Idade : 28
Data de inscrição : 02/08/2013
Notas recebidas : B-B-B-A-A
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

90% Re: Como fazer gravidade em plataforma sem Solid

Mensagem por Isaque Onix em Sex 10 Abr 2015, 12:25

eae cara, tranquilo? bem, o solid realmente é a melhor forma que conheço, mais vc pode criar um objeto de controle para a checagem e usar o place meeting.

Ex:

1: crie um objeto para simular o chão.
2: de o nome de Solid_Parent (não marque o solido, já que é isso que quer...)
3: crie outro objeto com sprite para ser o chão.
4: crie outro objeto para ser o "PLAYER"
5: coloque o codigo no step do player:
create:
Código:
gspeed=0
xspeed=8
step:
Código:
if(!place_meeting(x+lengthdir_x(gspeed+1,270),y+lengthdir_y(gspeed+1,270),Solid_Parent)){
gspeed+=1
x+=lengthdir_x(gspeed,270)
y+=lengthdir_y(gspeed,270)}else{
D=point_direction(x,y,x+lengthdir_x(gspeed+1,270),y+lengthdir_y(gspeed+1,270))
move_contact_all(D,gspeed)
gspeed=0}

if(keyboard_check(ord('W')) && !place_free(x,y+gspeed+1)){gspeed=-16}
if(keyboard_check(ord('A'))){repeat(xspeed){if(place_free(x-1,y)){x-=1}}}
if(keyboard_check(ord('D'))){repeat(xspeed){if(place_free(x+1,y)){x+=1}}}

acho que da certo =)
Ps: copiei o codigo do meu OUTRO TÓPICO e modifiquei '-'

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

90% Re: Como fazer gravidade em plataforma sem Solid

Mensagem por willyruduit em Sex 10 Abr 2015, 20:30

Isaque Onix

Muito Obrigado, Funcionou como eu queria!!

Joinha pra vc!

Se alguém tiver outro sistema, pode postar!

willyruduit

Ranking : Nota A
Número de Mensagens : 306
Idade : 28
Data de inscrição : 02/08/2013
Notas recebidas : B-B-B-A-A
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

90% Re: Como fazer gravidade em plataforma sem Solid

Mensagem por Isaque Onix em Seg 13 Abr 2015, 21:35

por nada meu caro! estamos aqui pra isso.

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

90% Re: Como fazer gravidade em plataforma sem Solid

Mensagem por theguitarmester em Seg 13 Abr 2015, 22:02

o solid realmente é a melhor forma que conheço
Pra min é a pior maneira que conheço Razz kkk



Existem vários métodos, citarei alguns maneiras 'por cima:

- Fazer a plataforma como um quadrado, e aos personagens colidir com ela, serão movidos para o lado contrário ao centro dela. (Esse método não funcionará bem para plataformas implanas).

- Fazer baseado na posição em que está se movimentando, e aonde se encontra as plataformas(essa maneira é boa para plataformas implanas, porém um pouco mais complexa).

- Sair de dentro da plataforma de acordo com a posição anterior(também pode ser usado para plataformas implanas). Algo parecido com:
var pd=point_direction(x,y,xprevious,yprevious)
if place_meeting(x,y,plataforma) {x+=length_x(1, pd) y+=length_y(1, pd)};

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

90% Re: Como fazer gravidade em plataforma sem Solid

Mensagem por saim em Ter 14 Abr 2015, 23:27

A engine do willy, se não me engano, te dá a opção de colidir com objetos não-sólidos - e funciona bem pra caramba!

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

90% Re: Como fazer gravidade em plataforma sem Solid

Mensagem por willyruduit em Qua 15 Abr 2015, 09:50

Obrigado a todos que postaram estou estudando cada caso que citaram Happy

willyruduit

Ranking : Nota A
Número de Mensagens : 306
Idade : 28
Data de inscrição : 02/08/2013
Notas recebidas : B-B-B-A-A
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

90% Re: Como fazer gravidade em plataforma sem Solid

Mensagem por Conteúdo patrocinado Hoje à(s) 11:52


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