Entrar
Últimos assuntos
» Problema ao entrar por uma porta e voltar por elapor aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
[DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
3 participantes
Página 1 de 1
[DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
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.
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)
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
eu sei o clique que cria o objecto apenas.
vai no create instance e no
x bota
mouse_x
e no y
mouse_y
vai no create instance e no
x bota
mouse_x
e no y
mouse_y
Convidad- Convidado
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
1º: Crie um objeto chamado: obj_Mouse, no step:
então no objeto player coloque no STEP:
- Código:
x=mouse_x y=mouse_y
- 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)}
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
É 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.
No evento create do personagem:
segy = y; // y do lugar que será seguido
velocidade = 5; // Velocidade com a qual o personagem seguirá o lugar clicado
No evento step:
{
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*/)
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
E pra ele usar um gráfico diferente pra cada direção dependendo do lugar onde eu clico?
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
grafico? Que grafico? Ta falando de sprites? o q?
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
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.
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
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:
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)
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
image_angle=point_direction(x,y,mouse_x,mouse_y )
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
Mas aí ele vai usar alguma subimagem ou só vai girar o sprite pra tal ângulo?
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
Só vai girar o sprite.
PS.: Só funciona no GM Pro.
PS.: Só funciona no GM Pro.
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
Ah, eu só tenho o Lite. Não tem um jeito de usar outro sprite de acordo com o ângulo do clique?
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
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.
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:
Não esqueça de colocar o valor certo em "quantidade_de_subimages" e, mesmo fazendo desse jeito, centralize o sprite.
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
É para funcionar.
PS.: Em vez de:
image_index = direction/(360/quantidade_de_subimages);
Coloque:
image_index = round(direction/(360/quantidade_de_subimages));
PS.: Em vez de:
Coloque:
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DÚVIDA NOVAMENTE] Clique do Mouse criar objeto
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!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|