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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 26/10/2009
Número de Mensagens : 113
Insígnias de JAM :

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

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

Movimento por grids

em Ter 01 Maio 2012, 22:42
Galera tipo..
To fazendo um rpg isomentrico e qria por o movimentos por grids...ate achei uns tutos interessantes.. porem sem mtas explicaçoes...alguem poderia me indicar um tuto ou ate uma ajuda aki..? uma engine pra min estudar sei la... vlw!
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

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

Re: Movimento por grids

em Qua 02 Maio 2012, 08:05
Se ouver engines desse tipo (e tem mesmo), elas provavelmente estejam sem comentários nas linhas dos scripts, então vai ser o mesmo trabalho que você estudar os tutoriais que viu.
O que poderia ser melhor pra você é postar perguntas espeíficas no decorrer do desenvolvimento do seu projeto (tenho certeza que iremos ajudar bastante). Assim você aprende devagar (como é o certo) e pode até se especializar em RPG por aqui.
Vou te dar um breve exemplo de movimentos em grid, o mais resumido que eu já fiz.
Lembrando que a imagem ou máscara do objeto deve ter o tamanho da grid.
No evento step Event Step
Código:
alinhado=place_snapped(32,32);
if keyboard_check(vk_up) and alinhado{motion_set(90,4);}//cima
if keyboard_check(vk_down) and alinhado{motion_set(270,4);}//baixo
if keyboard_check(vk_left) and alinhado{motion_set(180,4);}//esquerda
if keyboard_check(vk_right) and alinhado{motion_set(0,4);}//direita
if keyboard_check(vk_nokey) and alinhado{motion_set(360,0);}//parar
E pra testar visualmente o alinhamento, coloca isso no evento draw Event Draw
Código:
for (i=0;i<640;i+=32){draw_line(0,i,room_width,i);draw_line(i,0,i,room_height);}
Até mais!
avatar
Data de inscrição : 26/10/2009
Número de Mensagens : 113
Insígnias de JAM :

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

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

Re: Movimento por grids

em Qua 02 Maio 2012, 15:13
Humm bom msm... Ja intendi como funciona soh dei uma pesquisada no codigo ai q vc mando no propro help do GM.
Mas no caso era nessesario criar o "alinhado=place_snapped=(32,32)" ? nao poderia soh colocar o place_snapped no codigo?
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: Movimento por grids

em Qua 02 Maio 2012, 15:44
poderia sim. Na verdade, poderia até aninhar os ifs:
Código:
if (place_snapped == true){
se (seta pra cima){move pra cima}
se (seta pra baixo){move pra baixo}
//etc
}
avatar
Data de inscrição : 26/10/2009
Número de Mensagens : 113
Insígnias de JAM :

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

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

Re: Movimento por grids

em Sab 05 Maio 2012, 12:23
eu ate intendo um poco de gml soh pq tava meio inferrujado o meu primeiro e unico jogo completo faz um ano..Metal slug amazonia kkk tem aki..
vlw ai gente!
Edit:testei a engine certinho td lgl..
Porem na movimentaçao isometrica da problema o char nao para!
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: Movimento por grids

em Seg 07 Maio 2012, 09:46
Roxcast escreveu:Porem na movimentaçao isometrica da problema o char nao para!
Isso pode ter diversas causas. Uma das possibilidades é que a sua velocidade não seja um divisor do tamanho da grid, o que faria com que o objeto nunca se alinhasse à grid e, consequentemente, o teste por "place_snapped" sempre retorne "false". Teste assim: use uma velocidade igual ao tamanho da grid (ou vice-versa) e teste. Se o problema for esse, o personagem vai parar assim que você soltar as teclas.

Outra possibilidade é que o personagem esteja realmente se movendo num cenário isométrico. "place_snapped" só funciona em grids ortogonais (com ângulos de 90°). Se for esse o caso, precisamos de uma teoria toda nova.
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