Conectar-se
Quem está conectado
30 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 29 Visitantes

JuubiSama

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Grid.......

em Sex 06 Nov 2009, 15:28
bom estou fazendo um teste com grid.....
sei porra nenhuma de como mexer com grid e estou curioso e com vontade de aprender a mexer com grid.......
então criei um projeto apenas para fazer testes de grid e queria saber se tem como fazer o seguinte:

quero fazer que o personagem tenha 8 direções:



cada uma com um angulo de 45º:



ou seja..... se estiver em tal 45º graus e eu clicar com o botão direito do mouse ele irápara aquela direção.......

resumindo:
quero saber como fazer um movimento diagonal usando o grid pelo click do mouse.
Data de inscrição : 05/10/2009
Número de Mensagens : 199
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://animanga-games.forumeiros.com/

Re: Grid.......

em Sex 06 Nov 2009, 18:05
AXO que não tem jeito. mas tbm não sei muito de grid, qual a vantagem???
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Grid.......

em Sex 06 Nov 2009, 19:04
No GM temos duas maneiras de trabalhar com uma GRID. Se for no Free vc tem que usar um array bidimensional, se for o registrado você pode usar o ds_grid. De qualquer modo para você fazer o seu player andar de 45 em 45 graus não ha necessidade de se usar grids. Você pode calcular usando a posição do mouse. Assim:
Coloque no EVENTO CREATE
Código:

friction = 0.05;
Coloque no EVENTO Mouse->Global->RightPressed
Código:

var xx, yy, ang;
xx = mouse_x;
yy = mouse_y;
ang = point_direction(x, y, xx, yy);
ang = (ang div 45) * 45;
xnew = x + lengthdir_x(64, ang);
ynew = y + lengthdir_y(64, ang);
move_towards_point(xnew, ynew, 2);
Para visualizar a área do Right Click que vc pode clicar coloque isso no
EVENTO DRAW:
Código:

var i, xx, yy;
draw_sprite(sprite_index, 0, x, y);
i = 0;
draw_set_color(c_red);
while (i < 360)
{
  xx = x + lengthdir_x(64, i);
  yy = y + lengthdir_y(64, i);
  draw_line(x, y, xx, yy);
  i += 45;
}
Assim ele só se moverá de 45 em 45 graus, se vc quizer um movimento livre apenas comente a linha ang = (ang div 45) * 45; no evento do Mouse.
flw!
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Re: Grid.......

em Sex 06 Nov 2009, 20:57
vinians vlws mas.....
eu quero o seguinte quando eu apertar o mouse pra uma direção ele segue essa direção..... mas se seu soltar o botão direito do mouse ele para de se mover......
intende?
tpw um montoro..... quando aperta fica acelerando... quando solta ele para.

vou tentar por no step
if mouse_button_check(mb_right)
{
var xx, yy, ang;
xx = mouse_x;
yy = mouse_y;
ang = point_direction(x, y, xx, yy);
ang = (ang div 45) * 45;
xnew = x + lengthdir_x(64, ang);
ynew = y + lengthdir_y(64, ang);
move_towards_point(xnew, ynew, 2);
}
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Grid.......

em Sex 06 Nov 2009, 23:28
Saquei! Basta vc fazer a seguinte alteração:
No Evento CREATE:
Código:

friction = 0;

Depois troque o EVENTO do MOUSE por
Mouse->Global->Right Button
ou seja, ao inves de Mouse->Global->Right Pressed coloque este ai acima.

Depois coloque no evento Step->BeginStep
Código:

hspeed = 0;
vspeed = 0;
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Re: Grid.......

em Sab 07 Nov 2009, 14:36
vlws vinians......
mas o seguinte eu quero por todas as informações.... tipo como se fosse um mapa.....
acho que se eu usasse o grid eu conseguiria saber em qual tile o personagem está e sob qual tile esta o mouse e também o angulo do mouse em relação do personagem.

pq.... sao 3 informações..... to pensando em um motor, que ele irá funcionar com essas 3 informações.... por exemplo:

"se o mouse estiver entre 22.5º e 70.5º do tile do personagem e apertar o botão direito"
{
mover para essa direção
ou seja subir na diagonal esquerda
}

/\
||
essa parte que não faço mínima idéia de como vou fazer......

tpw com o grid vou ter tipo uma cordenada saca?

vamos ver......


o personagem ta nessa cordenada:
x25 y46 (no tile x25 e no tile y46)

se o mouse estiver entre 22.5º e 70.5º do tile do personagem e apertar o botão direito
{
x-1
y-1
}

ou seja ele vai dizer pra tirar 1 de x e um de y entao o personagem deverá subir na diagonal.......

to embolado não sei como explicar
Conteúdo patrocinado

Re: Grid.......

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