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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 28/02/2010
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Movimentação de personagem

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
avatar
Data de inscrição : 14/01/2010
Número de Mensagens : 348
Insígnias de JAM :

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

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

Re: Movimentação de personagem

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.
avatar
Data de inscrição : 30/12/2009
Número de Mensagens : 1344
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://sitedosjogos.forumeiros.com

Re: Movimentação de personagem

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
avatar
Data de inscrição : 28/02/2010
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Movimentação de personagem

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. 😢
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

Re: Movimentação de personagem

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)
}
avatar
Data de inscrição : 14/01/2010
Número de Mensagens : 348
Insígnias de JAM :

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

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

Re: Movimentação de personagem

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.
avatar
Data de inscrição : 28/02/2010
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Movimentação de personagem

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. ;)
avatar
Data de inscrição : 14/01/2010
Número de Mensagens : 348
Insígnias de JAM :

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

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

Re: Movimentação de personagem

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!
avatar
Data de inscrição : 01/05/2009
Número de Mensagens : 23
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Movimentação de personagem

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 ;)
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

Re: Movimentação de personagem

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
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