Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Ajuda com ataque por mouse

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
rafarp23
Membro
Membro
Reações: 0
Mensagens: 45
Localização: São José do Rio Preto, SP

Ajuda com ataque por mouse

Mensagem por rafarp23 » Seg Dez 10, 2018 12:03 pm

Olá galera, preciso de uma ajuda com o ataque por mouse!
É o seguinte quero um sistema para atacar com o mouse direito, fiz um usando o x, y do mouse com o x e y do player, só que ele solta tudo junto, como faço para atirar na direção do mouse, sem diagonais?

Quem puder ajudar agradeço muito!
]-- [RagnumWorld] --
Em breve!!!

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Ajuda com ataque por mouse

Mensagem por None » Seg Dez 10, 2018 6:34 pm

Eu não entendi o que você quer fazer.

Tem como colocar o código aqui e explicar o que você quer que ele faça?
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
rafarp23
Membro
Membro
Reações: 0
Mensagens: 45
Localização: São José do Rio Preto, SP

Re: Ajuda com ataque por mouse

Mensagem por rafarp23 » Ter Dez 11, 2018 11:47 am

o código é

Código: Selecionar todos

if mouse_x > x{
instance_create(x,y, obj_tiroRight);
}else if mouse_x < x{
instance_create(x,y, obj_tiroLeft);
}else if mouse_y > y{
instance_create(x,y, obj_tiroUp);
}else if mouse_y < y{
instance_create(x,y, obj_tiroDown);
}
Tipo se eu ataco ele solta o tiro para direita e baixo junto, quero que ele atira apenas uma vez quando eu clickar com o mouse direito, e que seja na direção que o mouse está!
]-- [RagnumWorld] --
Em breve!!!

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Ajuda com ataque por mouse

Mensagem por None » Ter Dez 11, 2018 4:18 pm

Entendi, você quer que ele atire na direção do mouse, porém você não quer usar o point_direction porque você não quer atirar em ângulo, correto?

A resposta é que você usa o point direction do mesmo jeito hahaha.

Fica assim
dir = point_direction(x, y, mouse_x, mouse_y);
Aqui eu peguei a direção do mouse em relação a mim.

Var dir2 = (dir div 90) * 90;
Aqui eu dividi a direção que eu recebi por 90 com o div (que retorna um número inteiro), ou seja eu recebi ou 0 ou 1 ou 2 ou 3 e depois eu multipliquei isso por 90 retornando a direção sem ângulo.

var tiro = instance_create(x, y, obj_tiro)
tiro.direction = dir2;
tiro.speed = 5;
Agora eu criei um tiro para a direção que eu quero com 5 de velocidade.

Espero ter ajudado
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
rafarp23
Membro
Membro
Reações: 0
Mensagens: 45
Localização: São José do Rio Preto, SP

Re: Ajuda com ataque por mouse

Mensagem por rafarp23 » Qua Dez 12, 2018 12:07 pm

Noosa mano muito obrigado mesmo, deu certo aqui!

EDIT
Só tem um problema,a ele ataca na direção certa, mas o mouse tem que ficar na linha reta do x e y, queria que ele atacasse sem estar na reta do x e y do player, tipo se tivece uma area grande que nessa area seria o lado que eu fosse atirar.
]-- [RagnumWorld] --
Em breve!!!

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Ajuda com ataque por mouse

Mensagem por None » Qua Dez 12, 2018 2:41 pm

Oo
O mouse não precisa ficar em linha reta com o modelo que eu te dei.

Tem como você copiar o seu código inteiro e colar aqui para eu dar uma olhada?
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
rafarp23
Membro
Membro
Reações: 0
Mensagens: 45
Localização: São José do Rio Preto, SP

Re: Ajuda com ataque por mouse

Mensagem por rafarp23 » Qua Dez 12, 2018 3:24 pm

O código está assim:

Código: Selecionar todos

if mouse_check_button_pressed(mb_right) && attackAble = "false"{
attackAble = "true";

var dir = point_direction(x, y-24, mouse_x, mouse_y);
var dir2 = (dir div 90) * 90;

if class == "Archer"{
    var attack = instance_create_layer(x, y, "Instances", obArrow)
 audio_play_sound(soArrow,1,false);
}else if class == "Gladiator"{
 var attack = instance_create_layer(x, y, "Instances", obSlashR)
 audio_play_sound(soSword,1,false);
}

attack.direction = dir2;
attack.speed = 3;
}
O centro do player está sobre o meio dos pés

O exemplo que pretendo é como a imagem abaixo:
Imagem

Se ou mouse estiver sobre a area azul que é o Y do player ele ataca na direção do mouse, cima ou baixo.
E se estiver sobre a area vermelha ele ataca para esquerda ou direita.

O jeito que está atacando está diferente, o mouse tem que estar pra baixo do pé e pra direita para atacar para baixo, e se estiver pra cima do player e na direita ele ataca pra direita!
]-- [RagnumWorld] --
Em breve!!!

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Ajuda com ataque por mouse

Mensagem por None » Qua Dez 12, 2018 4:31 pm

Tenta sem o -24 no y para ver no que da, provavelmente a sua tentativa de centralização "atrapalhou" os cálculos do game maker.

Qualquer coisa faz o seguinte
If (ABS(mouse_x - x) <= sprite_width)
{
//Mouse está dentro de mim horizontalmente
If(mouse_y > y)
{
tiro para baixo
}
else
{
tiro para cima
}
}
else
{
If(mouse_x > x)
{
tiro para direira
}
else
{
tiro para esquerda
}
}


Aqui eu estou checando se o mouse está horizontalmente ocupando o mesmo espaço que o player, se estiver quer dizer que vou atirar para cima ou para baixo (com base na sua figura).
Se ele não estiver quer dizer que vou atirar para os lados.

Eu acho que o código da direção é mais elegante, mas este outro modelo deve funcionar bem
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
rafarp23
Membro
Membro
Reações: 0
Mensagens: 45
Localização: São José do Rio Preto, SP

Re: Ajuda com ataque por mouse

Mensagem por rafarp23 » Qua Dez 12, 2018 5:47 pm

Aeee, esse código deu certo, agora ta atacando normal, muito obrigado pela sua ajuda!

Sabe como posso criar um inventório por tipo? ex: armor, weapon, shield
ou se não criar algum objeto que se eu arrastar outro objeto com o tipo que a box requer em cima dela ele fica lá como se eu tivece equipado!
]-- [RagnumWorld] --
Em breve!!!

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Ajuda com ataque por mouse

Mensagem por None » Qua Dez 12, 2018 7:04 pm

Nessas últimas semanas eu fiz um sistema de inventário para o meu curso, é mais ou menos o que você quer e da para implementar o que você quer nele, mas deu trabalho (foram quase 20 vídeos ao todo)
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
rafarp23
Membro
Membro
Reações: 0
Mensagens: 45
Localização: São José do Rio Preto, SP

Re: Ajuda com ataque por mouse

Mensagem por rafarp23 » Qua Dez 12, 2018 7:26 pm

Não precisa ser o inventário todo, só quero tipo Slots por tipo, que se eu pegar um objeto com o tipo igual do slot e puxar para o Slot ele fique como equipado, mas tem algum link dos videos do seu inventário ou mesmo pode me ajudar a fazer, pois eu já criei os global dos items e dos status que serao adicionados ao jogador como defesa, força, agilidade, etc... e também ja criei o visual equip, só falta o inventário para ser equipado, desequipado ou dropado. o resto de add os status e o visual no jogador eu ja tenho feito e configurado.
]-- [RagnumWorld] --
Em breve!!!

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Ajuda com ataque por mouse

Mensagem por None » Qua Dez 12, 2018 8:55 pm

https://goo.gl/2RjHaj

Acesse o link, eu acabei deixar como prévia gratuita os vídeos sobre a criação de sistema de inventário.
Então você só precisa ir na grade curricular e ir até a aula 250 mais ou menos

O conteúdo é relativamente complexo.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
rafarp23
Membro
Membro
Reações: 0
Mensagens: 45
Localização: São José do Rio Preto, SP

Re: Ajuda com ataque por mouse

Mensagem por rafarp23 » Qua Dez 12, 2018 9:59 pm

Muito obrigado, agradeço a ajuda!
]-- [RagnumWorld] --
Em breve!!!

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante