Conectar-se
Quem está conectado
25 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 25 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : B-B-B-A-A
Data de inscrição : 02/08/2013
Número de Mensagens : 306
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 33

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Como fazer gravidade em plataforma sem Solid

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)
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1599
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Como fazer gravidade em plataforma sem Solid

em Sex 10 Abr 2015, 12:25
Reputação da mensagem: 100% (2 votos)
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 '-'
avatar
Ranking : Nota A
Notas recebidas : B-B-B-A-A
Data de inscrição : 02/08/2013
Número de Mensagens : 306
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 33

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Como fazer gravidade em plataforma sem Solid

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!
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1599
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Como fazer gravidade em plataforma sem Solid

em Seg 13 Abr 2015, 21:35
por nada meu caro! estamos aqui pra isso.
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 80

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

Re: Como fazer gravidade em plataforma sem Solid

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)};
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Como fazer gravidade em plataforma sem Solid

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!
avatar
Ranking : Nota A
Notas recebidas : B-B-B-A-A
Data de inscrição : 02/08/2013
Número de Mensagens : 306
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 33

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Como fazer gravidade em plataforma sem Solid

em Qua 15 Abr 2015, 09:50
Obrigado a todos que postaram estou estudando cada caso que citaram Happy
Conteúdo patrocinado

Re: Como fazer gravidade em plataforma sem Solid

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum