Movimentação de personagem

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

Movimentação de personagem

Mensagem por BIOHAZARD em Ter 02 Mar 2010, 21:55

Olá. afro
Estou com dificuldades para encontrar as configurações necessarias para que meu personagem se movimente de acordo com o que tenho em mente. (Movimentação semelhante a de RPGs e jogos de Estratégia). Onde você clica, e o personagem se dirige ao local selecionado.
Todas as configurações que tentei só fizeram meu personagem seguir na direção do mouse, e ao soltar o botão do mouse, meu personagem para de se movimentar.
Gostaria de uma ajuda neste caso, diretamente com códigos, achei mais preciso do que usar configurações pelos botões convencionais.
Des de já agradeço a atenção e colaboração de todos Happy

BIOHAZARD

Número de Mensagens : 5
Data de inscrição : 28/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por Da Galáxia em Qua 03 Mar 2010, 16:38

Pelo que eu entende, voce quer que o player segue até um ponto qualquer que voce clikou com o mouse, e depois pare neste ponto, nê. Se for isso mesmo lá vai.

crie o objeto player e o objeto lugar
o objeto player deve estar na room e objeto lugar NÂO (o objeto lugar deve ser INVISIVEL)

no STEP do objeto player coloque:
if mouse_check_button(mb_left)
instance_create(mouse_x,mouse_y,lugar)
if instance_exists(lugar)
move_towards_point(lugar.x,lugar.y,5)

e na COLISÂO do objeto player com o objeto lugar coloque:
with other instance_destroy()
speed = 0

Fiz aqui e deu certo, espero ter ajudado, qualquer duvida é só perguntar.

Da Galáxia

Número de Mensagens : 348
Data de inscrição : 14/01/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por Henrique_GJ em Qua 03 Mar 2010, 17:12

eu faria:

um objeto invisível pra seguir o mouse, vou chama-lo de smouse

agora outro invisível chamado cmouse

agora vou colocar no evento mouse do smouse "instance_create(smouse.x,smouse.y,cmouse)"

agora vai no player e arraste o ícone move towards no step e colo cmouse.x,cmouse.y e na colisão com o cmouse coloque instance_destroy() e marque other lá em cima

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por BIOHAZARD em Qua 03 Mar 2010, 18:55

Bom. Primeiramente, gostaria de agradecer pela ajuda, porém, nenhum dos dois deu certo Rolling Eyes
Question O player continua a se mover além da marcação feita pelo clique do mouse. :cry:

BIOHAZARD

Número de Mensagens : 5
Data de inscrição : 28/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por PedroX em Qua 03 Mar 2010, 19:03

vc quer que ele ande em grade entao?
se for use o codigo:
Código:
if mouse_check_button_pressed(mb_left)
{
var xx,yy;
xx=round(mouse_x/16)*16//mude o 16 para o tamanho da grade
yy=round(mouse_y/16)*16//aqui tbm
move_towards_point(xx,yy,5)
}

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por Da Galáxia em Qua 03 Mar 2010, 22:42

O player anda, e depois para, ao colidir com o objeto lugar.
No evento STEP do objeto player, coloque:
if not instance_exists(lugar)
if mouse_check_button(mb_left)
instance_create(mouse_x,mouse_y,lugar)
if instance_exists(lugar)
move_towards_point(lugar.x,lugar.y,5)

no evento COLISAO do objeto player, faça a colisao com o objeto lugar, e colque:
with other instance_destroy()
speed = 0

DESCRIÇÃO:
ao clicar com o mouse em algum lugar da room, o player vai na direção do click, e para ao colidir com o objeto lugar, que ali foi criado, quando chega lá o objeto lugar é destruido, e pode-se recomessar todo o processo.
obs: nesse novo codigo tem a linha "if not instance_exists(lugar)", que faz que se crie apenas um objeto lugar depois de cada colisão.
Se não der certo desculpe, é porque não entende o que vc realmente deseja.

Da Galáxia

Número de Mensagens : 348
Data de inscrição : 14/01/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por BIOHAZARD em Qui 04 Mar 2010, 01:06

Até que deu umpouco certo, tirando que o personagem fica vibrando quando chega no ponto clicado. (num movimento de zig-zag) e não consigo mais tira-lo de lá Happy
bom, vou tentar dar um geito aqui. Obrigado, foi de grande ajuda. ;)

BIOHAZARD

Número de Mensagens : 5
Data de inscrição : 28/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por Da Galáxia em Qui 04 Mar 2010, 02:15

Se ele fica vibrando quando chega no ponto com o botao do mouse pressionado,
entao mude o codigo do mouse para: if mouse_check_button_pressed(mb_left).

SEM VER A ENGINE FICA DIFICIL. BOA SORTE!

Da Galáxia

Número de Mensagens : 348
Data de inscrição : 14/01/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por kimeradelf em Qui 04 Mar 2010, 10:39

Vai na parte de tutoriais desse forum, la tem uma enginne de rpg que faz exatamente o q vc quer. Só n esquece de centralizar a sprite no pé do personagem ;)

kimeradelf

Número de Mensagens : 23
Idade : 24
Data de inscrição : 01/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por Denis Lemos em Qui 04 Mar 2010, 12:18

Aqui tem uma engine que eu fiz um tempão, talvez possa te servir !

Você aperta o botão esquerdo do mouse para selecionar o objeto, e com ele selecionado é só clicar no local qualquer da room, e o carinha caminha até lá !

Link: http://www.gamemakerbrasil.com/engines-f12/para-o-obko-exemplo-de-comandos-para-jogos-de-estrategia-t4608.htm

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Movimentação de personagem

Mensagem por Conteúdo patrocinado Hoje à(s) 04:54


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