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

junior rodrigues

Ver toda a lista


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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://w3down.zxq.net

[DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 15:49
Quero fazer um sistema de movimento por cliques na tela, e pra isso preciso que os cliques criem objetos que o personagem irá seguir, ou então que o próprio clique seja seguido. Acho que a primeira opção é mais fácil, mais se puderem fazer a segunda melhor ainda. Alguém pode me ajudar?

Acabei de achar um problema... quando eu clico dentro de um objeto sólido, pelo fato dele desviar ele acaba rondando o objeto sem saber o que fazer, como eu faço pra ele simplesmente interromper a trajetória ao chegar do lado do tal objeto?

Editado por CyraxX, evite fazer Posts duplos, alertado.


Última edição por Westerbly em Dom 27 Jun 2010, 18:11, editado 2 vez(es)
Convidad
Convidado

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:09
eu sei o clique que cria o objecto apenas.

vai no create instance e no
x bota
mouse_x
e no y
mouse_y
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

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

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

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:15
1º: Crie um objeto chamado: obj_Mouse, no step:
Código:
x=mouse_x y=mouse_y
No evento Mouse Left Pressed coloque:
Código:
instance_create(x,y,(objeto a ser criado))

então no objeto player coloque no STEP:
Código:
if instance_exists(obj a ser criado)=1 {mp_potential_step(obj_qualquer.x,obj_qualquer.y,5,solid)}
Não entendi direito a sua pergunta, mas se for o que eu to pensando é assim. Happy
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:21
É bem simples sem criar objetos.

No evento create do personagem:
segx = x; // x do lugar que será seguido
segy = y; // y do lugar que será seguido
velocidade = 5; // Velocidade com a qual o personagem seguirá o lugar clicado

No evento step:
if (mouse_check_button_pressed(mb_left)) // Se clicou com o botão esquerdo do mouse
{
segx = mouse_x; // Define a posição que o personagem seguirá
segy = mouse_y;
direction = point_direction(x, y, segx, segy); // Define a direção para a posição
}
if (point_distance(x, y, segx, segy) > velocidade) // Só anda para o ponto se a distância for maior que a velocidade
speed = velocidade;
else
speed = 0;


Obs.: Se você quiser que ele desvie de objetos, então tem que usar o mp_potential_step. Aliás, você pode usar o mp_potential_step mesmo se não quiser que ele desvie.
Spoiler:
No evento create do personagem:
segx = x; // x do lugar que será seguido
segy = y; // y do lugar que será seguido

No evento step:
if (mouse_check_button_pressed(mb_left)) // Se clicou com o botão esquerdo do mouse
{
segx = mouse_x; // Define a posição que o personagem seguirá
segy = mouse_y;
}
mp_potential_step(segx, segy, 5 /*essa é a velocidade*/, false /*desviar apenas de sólidos*/)
avatar
Data de inscrição : 04/01/2010
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://w3down.zxq.net

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:44
E pra ele usar um gráfico diferente pra cada direção dependendo do lugar onde eu clico?
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

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

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

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:45
grafico? Que grafico? Ta falando de sprites? o q?
avatar
Data de inscrição : 04/01/2010
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://w3down.zxq.net

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:48
Isso, sprites. Tipo, num exemplo do GMaker tem um gráfico pra cada direção do personagem, quero fazer assim, só que como não se trata de um movimento e sim de uma 'perseguição', não sei como fazer, porque a direção vai depender de onde eu clicar.
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:50
@Westerbly escreveu:E pra ele usar um gráfico diferente pra cada direção dependendo do lugar onde eu clico?

Se é top view (visto de cima), usa image_angle. Você tem que ter o sprite do personagem virado para a direita. Então, no step, coloca:
image_angle = direction;
A origem do sprite deve estar centralizada ("origem" é o ponto pelo qual o sprite é "segurado"). Na janela das propriedades do sprite há um botão escrito "Center". É só clicar nele.).


Última edição por Igor KinGamer em Dom 27 Jun 2010, 16:52, editado 1 vez(es)
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

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

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

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:50
image_angle=point_direction(x,y,mouse_x,mouse_y )
avatar
Data de inscrição : 04/01/2010
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://w3down.zxq.net

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:54
Mas aí ele vai usar alguma subimagem ou só vai girar o sprite pra tal ângulo?
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 16:56
Só vai girar o sprite.
PS.: Só funciona no GM Pro.
avatar
Data de inscrição : 04/01/2010
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://w3down.zxq.net

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 17:01
Ah, eu só tenho o Lite. Não tem um jeito de usar outro sprite de acordo com o ângulo do clique?
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 17:19
Tem um outro jeito, que gasta uma considerável quantidade de espaço a mais, mas isso é melhor do que nada.

Na janela de propriedades do sprite, clique em "Edit Sprite". Na nova janela, vá no menu "Animation" > "Rotation Sequence" > "Counter-Clockwise".

Em number of frames, você coloca a quantidade de subimages que serão criadas. Quanto maior o número, melhor será a rotação, porém ficará mais pesado.
72 subimages devem ser (mais do que) o suficiente. Até 36 devem dar. O problema é quando precisa aparecer o objeto girando. Mas, no seu caso, ele apenas irá numa direção, sem alterá-la pelo caminho, então nem vai dar para perceber que a direção não está muito certa.
Em Degrees, coloque 360.

Então, no evento step, coloque:

image_index = direction/(360/quantidade_de_subimages);

Não esqueça de colocar o valor certo em "quantidade_de_subimages" e, mesmo fazendo desse jeito, centralize o sprite.
avatar
Data de inscrição : 04/01/2010
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://w3down.zxq.net

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 17:29
E funciona no Lite?
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 17:30
É para funcionar.

PS.: Em vez de:
image_index = direction/(360/quantidade_de_subimages);
Coloque:
image_index = round(direction/(360/quantidade_de_subimages));
avatar
Data de inscrição : 04/01/2010
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://w3down.zxq.net

Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto

em Dom 27 Jun 2010, 17:48
Eu já tinha as subimages de todas as direções, foi só uma questão de reordenar a animação, mas mesmo assim a dica da rotação também foi útil. Ficou perfeito, brigadão ae!
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