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
Ajuda com ataque por mouse
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!
É 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!!!
Em breve!!!
Re: Ajuda com ataque por mouse
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?
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
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Re: Ajuda com ataque por mouse
o código é
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á!
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);
}
]-- [RagnumWorld] --
Em breve!!!
Em breve!!!
Re: Ajuda com ataque por mouse
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
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
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Re: Ajuda com ataque por mouse
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.
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!!!
Em breve!!!
Re: Ajuda com ataque por mouse
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?
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
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Re: Ajuda com ataque por mouse
O código está assim:
O centro do player está sobre o meio dos pés
O exemplo que pretendo é como a imagem abaixo:
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!
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 exemplo que pretendo é como a imagem abaixo:
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!!!
Em breve!!!
Re: Ajuda com ataque por mouse
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
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
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Re: Ajuda com ataque por mouse
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!
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!!!
Em breve!!!
Re: Ajuda com ataque por mouse
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
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Re: Ajuda com ataque por mouse
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!!!
Em breve!!!
Re: Ajuda com ataque por mouse
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.
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
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante